Struts 2 Annotation Validation i18n não funciona [ RESOLVIDO ]
11 respostas
D
daniel-6-strings
Tenho uma validação em Annotations no Struts 2 mas ele não muda o idioma, quando as taglibs <s:text name=“app.form.datainvalida”/> mudam normalmente, mas o texto que retorna via JSON para a view continua em pt-BR
Desse jeito, para chamar a tela de "entrada" sem passar pelo método "execute", basta: localhost/projeto/produto/send!input e pronto! ;)
Quanto ao seu erro, coloque um breakpoint no método "execute" e verifique como ficou o getLocale() da Action.
D
daniel-6-strings
Opa, eu observei o locale durante o processamento da action e continua pt_BR, mas o estranho e que nas jsp’s com a tag EX: <s:text name=“app.title”/> ele muda o idioma, eu estou alterando o idioma em outra action assim:
não sei se e o certo, eu venho do Struts 1.x… mas como eu sou averso a JSF por gerar um codigo muito sujo e não permitir termos o controle do java script para Ajax eu estou estudando Struts 2 o antigo ww…( por isso estou escrevendo @Annotations demais, é só um estudo, para aprender, eu trabalho com struts 1.3 ) mas me parece um bugfix esse do locale, ja achei outras pessoas com o mesmo problema apesar de configurar com xml o struts 2.
Obrigado.
jyoshiriro
Amigo,
com relação ao Locale, lembro que tinha uma versão do struts2 que tava bugada nisso. Já baixou a versão 2.2.1?
Olha só: como você tava testando outros locales sem sem programaticamente? Tentou usando o parâmetro “request_locale” ou alterando configurações no “about:config” do Firefox?
E você criou outro arquivo .properties com as chaves em outro idioma?
D
daniel-6-strings
Sim tenho um " language_pt_BR.properties " e um " language_en.properties ", como te disse na jsp funciona perfeitamente então ele acha os arquivos…mas nesse
interceptor " jsonValidationWorkflowStack " ele está com bug… eu acho… mas vou tentar achar uma solução na net… como e um framework novo e ainda com @annotations não tem muito a respeito…
mas valew…
jyoshiriro
Por que você não usa o “defaulfStack” mesmo?
D
daniel-6-strings
Potz… testei aqui o " defaulfStack " ele faz reload na pagina,e o sistema é todo em ajax, com div injection, o rertorno que vem com
" jsonValidationWorkflowStack " e perfeito:
/*{"errors":["A Data de Inicio não pode ser maior ou igual que a data de Fim"]}*/
por ai eu capturo isso na view e faço e que eu quiser: pinto as bordas dos campos de vermelho …exibo a mensagen do lado do campo …etc… tudo sem reload…
mas infelizmente esta com esse bug… eu tinha feito isso na mão com interceptors do spring e com struts 1.3, mas eu queria um padrão … vou fuçar nos fontes do Struts e depurar, pra ver se eu descubro o que é… ( coisa de doido rs… ) mas eu ja mexi nos fontes do displaytag e gerei um jar e ficou muito bom a paginação com ajax.
Abraço…
jyoshiriro
Você já tentou inverter a ordem entre “jsonValidationWorkflowStack” e “i18n”?
D
daniel-6-strings
Já… cara eu vi um post em outro forum com um cara com o mesmo problema e resolveu, mas a config dele era em xml,
o problema acho que nem esta na annotation e sim no locale… o getLocale() na action retorna pt_BR mesmo eu alterando para en_US.