Estou tendo problemas em configurar o webwork, principalmente o web.xml, estou tentando adicionar IoC no meu projeto, mas quando eu coloco os tags de filtros de IoC no web.xml, não consigo mais acessar as action pelo navegador.
Olá estou usando a IoC do Spring se for isso que voce esta
precisando tem alguns passos…
no seu web.xml
<!-- Configuracao do WebWork2 --><servlet><servlet-name>webwork</servlet-name><servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher
</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>webwork</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping><filter><filter-name>webwork</filter-name><filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher
</filter-class></filter><filter-mapping><filter-name>webwork</filter-name><url-pattern>/*</url-pattern></filter-mapping><taglib><taglib-uri>webwork</taglib-uri><taglib-location>/WEB-INF/lib/webwork-2.2.2.jar</taglib-location></taglib><!-- Configuracao do Spring --><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/applicationContext*</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
Beleza , feito isso crie o webwork.properties em: WEB-INF\classes
E adicione a seguinte linha:
#Webwork ira utilizar o Spring como Container IoC
webwork.objectFactory=spring
Agora sem misterios…
O xwork.xml voce consegue criar de algum exemplo
E o “spring.jar” que esta no diretorio:
“spring-framework-1.2.8\dist”
No seu classpath , para tudo funcionar certinho…
Qualquer coisa posta ae…
Valeu? Até… :thumbup:
[]s
eric_jf
O eclipse está reclamando do web.xml, pelo que vi é a ordem das tags. Vc etá usando qual DTD para o xml??
O meu ficou assim:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app><display-name>WebWorkApplication</display-name><servlet><servlet-name>webwork</servlet-name><servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher
</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>webwork</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping><filter><filter-name>webwork</filter-name><filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher
</filter-class></filter><filter-mapping><filter-name>webwork</filter-name><url-pattern>/*</url-pattern></filter-mapping><taglib><taglib-uri>webwork</taglib-uri><taglib-location>/WEB-INF/lib/webwork-2.2.2.jar
</taglib-location></taglib><!-- Configuracao do Spring --><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/applicationContext*</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class></listener></web-app>
keller
Uhmn , nao estou usando nenhum… :lol:
Da uma olhada como ficou o meu web.xml
<web-app><display-name>NaoPossoColocarONomeDaApp</display-name><!-- Configuracao do WebWork2 --><servlet><servlet-name>webwork</servlet-name><servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher
</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>webwork</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping><filter><filter-name>webwork</filter-name><filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher
</filter-class></filter><filter-mapping><filter-name>webwork</filter-name><url-pattern>/*</url-pattern></filter-mapping><taglib><taglib-uri>webwork</taglib-uri><taglib-location>/WEB-INF/lib/webwork-2.2.2.jar</taglib-location></taglib><!-- Configuracao do Spring --><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/applicationContext*</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- Configuracao do SiteMesh --><filter><filter-name>sitemesh</filter-name><filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class></filter><filter-mapping><filter-name>sitemesh</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping></web-app>
Bom estou usando o sitemesh aqui tambem,
ai é só tirar a parte do sitemesh…
Valeu? Até… :thumbup:
[]s
eric_jf
Eu coloquei o escopo do IoC session, mas ele só fica de um action para o proximo depois ele perde. Como eu faço para o meu objeto ficar durante a sessão do usuario???
De uma olhada na interface SessionAware do WebWork,
essa inteface tem um setSession(Map map);
Ai voce da um implements nessa interface na sua Action,
ai voce guarda os objetos que ficam na sessao, assim:
privateMapsession;privateStringdescricao;// get & set , nele!publicStringpesquisa(){Pesquisapesquisa=(Pesquisa)this.session.get("pesquisa");if(pesquisa==null){pesquisa=newPesquisa();}pesquisa.setDescricao(this.descricao);this.session.put("pesquisa",pesquisa);ActionSupport.SUCCESS;}//metodo sobrescrito da interface..publicvoidsetSession(Mapsession){this.session=session;}