Erro Struts 2

5 respostas
R

Fla galera. …

Estou com o seguinte problema.

Estou utilizando struts 2 no meu projeto e estou utilizando também o editor fckedior mas estou com um problema no upload do FCK pois ele está enviando para o servlet mas como no meu web.xml existe o filter do struts com o pattern /* ele primeiro passa pelo filter e dai quando chega no servlet o campo file está vazio gerando assim um erro quando recuperado.

Consegui resolver o problema do upload no FCK colocando o struts para verificar /web/* e não /* … ai o FCK consegue fazer o upload, mas, agora estou com outro problema mas, agora no struts. O meu menu por exemplo ele vai no banco e busca todo o menu e printa na tela tudo por ajax só que depois da alteração esse cara parou de funcionar … ele simplismente não chama a action mas se eu chamar /web/menu.action … direto na url ele funciona normal … isso só acontece com a chamada por ajax dentro do div e antes da alteração estava funcionando normalmente.

Alguem sabe o porque disso acontecer ???

Eu setei no meu struts.xml o namespace="/web"

Tudo que não é ajax está funcionando sem problemas …

se alguem puder me ajudar …

obrigado…

Rodrigo

5 Respostas

justoeu

Fala ai meu Caro, tudo bem?

Bem, passei por um problema parecido com este em um projeto grande de GED, que no caso fazia upload e tudo mais. No começo do projeto estavamos utilizando o fileUpload do proprio Commom so que inventaram de colocar texto Rico (HtmlArea) e acabei enfrentando o mesmo problema.

Bem, a principio eu tinha pensando em 3 possibilidade:

1 - Mapear direito a Classe no Web.xml (Porém não ia adiantar pois o filter é chamado primeiro)
2 - Criar um outro filter que acrescentasse no request o arquivo que era perdido (Cara abandonei pq começou a ficar complexo)
3 - Mudar o mapeamento de /* para alguma outra opção. (solução viavel e rápida)

Simplesmente coloquei o mapeamento como /.action e por incrivel que pareça solucionou.
Quando vc fez o esquema ai de colocar um /web/
eu acredito que deve haver alguma dependencia fora, por isso o Ajax ta se perdendo.

Já chegou a verificar no Firebug (Plugin do Firefox) para ver o retorno ou a chamada do ajax para ver se está correto? Talvez o retorno do ajax esteje pegando um caminho diferente do mapeado, ai o Filter não está entendendo a chamada.!

Bem qualquer coisa tamos ai!
Boa sorte!
[]´s

R

Fla carinha blz ?/?

então tentei colocar o /*.action e me deu o seguinte erro quando o tomcat eh iniciado:

06/03/2008 17:39:39 org.apache.catalina.startup.ContextConfig applicationWebConfig
SEVERE: Parse error in application web.xml file at jndi:/localhost/CodereSite/WEB-INF/web.xml
java.lang.IllegalArgumentException: Invalid <url-pattern> /*.action in filter mapping
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2726)
justoeu

uhm que estranho…
O meu aceitou esse tipo de parametro…

Bem, tenta tirar o / eu acho que ele ta entendendo que o /* como um diretorio… ou algo do genero…

[]´s

R

Fala brother fmz ???

consegui resolver o problema ....

Infelizmente o struts 2.0.11 não aceita essa configuração *.action nem /*.action para resolver o problema coloquei no web.xml a seguinte configuração:

<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/struts/*</url-pattern>
	</filter-mapping>
	
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/web/*</url-pattern>
	</filter-mapping>

Sendo que o filter-mapping /struts/* quem utiliza é o dojo do struts e por esse motivo dava problema no ajax.

é isso ...

vlw brother pela força.

[]'s

Rodrigo

justoeu

Fala ai cara, opa, que bom que conseguiu…
Fiquei meio encucado pq aqui funcionou… e fui atras e acabei descobrindo
a versão que estou utiizando aqui é a 2.0.3 e pelo que eu li eles modificaram algumas coisas nos filters apartir de versão 2.0.7.

Acredito que deve ser isso… vai dar uma testada do jeito que você fez e vou verificar se aqui não da problemas!

Bom fds…
[]´s

Criado 6 de março de 2008
Ultima resposta 8 de mar. de 2008
Respostas 5
Participantes 2