升级java1.8及ssh版本中碰到的问题(四)

来源:互联网 发布:linux vi退出命令 编辑:程序博客网 时间:2024/06/07 18:44

好吧,继续写下去。

九、sitemesh不起作用了。解决方法:再看一下web.xml中sitemesh和struts两个filter的位置,sitemesh在前。

原来都是正确的,还记得之前我提的第四个问题吗?就是出现了>>> FilterDispatcher <<< is deprecated! Please use the new filters! 警告,我当时说我完全参考了一篇文章,上面说是把

<filter><filter-name>struts2CleanupFilter</filter-name><filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class></filter><filter-mapping><filter-name>struts2CleanupFilter</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping> 
改成

<filter><filter-name>struts-prepare</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class></filter><filter-mapping><filter-name>struts-prepare</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping><filter><filter-name>struts-execute</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts-execute</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping>
这样改确实对了,但改完之后,发现这段代码路到sitemesh的配置上面去了,再一看,这两段代码不就是

<span style="white-space:pre"></span><filter><filter-name>struts2Filter</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2Filter</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping>
的分体吗?现在等把struts的拦截放到sitemesh前了,所以sitemesh不工作了。简单,把上面的注释掉就行了。也就是说,第四个问题解决方法可以注释掉struts2CleanupFilter。

十、无法动态访问action的方法。解决方法:sturts.xml中设置<constant name="struts.enable.DynamicMethodInvocation" value="true"/>

这个要真的感谢这位作者的这篇文章,写得太详细了,跟踪方法都写到了,值得我学习,一定要好好学习。

http://blog.csdn.net/achilles12345/article/details/37697457


说一句无关的话,感觉eclipse4.5好像有点抽风。

0 0
原创粉丝点击