____________我在建Stuts2.1工程时,选的是javaEE ,开启<constant name="struts.devMode" value="true" />
随之的问题就是:如果将struts.xml文件放到src的根目录下,会报这样一个错:
严重: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209) at com.opensymphony.xwork2.util.FileManager.fileNeedsReloading(FileManager.java:60)但是页面都可以正常发出Action请求.
如果将struts.xml文件放到src目录下的action文件夹下,Tomcat6.0起动后没有报错,但是我请求一个正常的Action时,页面时会报这样一个错:
警告: Could not find action or result
There is no Action mapped for namespace / and action name testLogin. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
这样的问题怎样解决呢?
在正规的Struts2-1-6版。项目中,struts.xml放在根目录下,还是可以放在src其它的文件夹下?
如果要判断是不是,很简单,去找个很老的2.1.X的版本,和最新的2.1.8的版本来试试,总有一个版本不会出这个问题!
正常情况,在没有进行其它配置的情况下是放在src文件夹下
我感觉你应该是tomcat的安装目录有空格或者非法字符造成的
struts.xml应该是在项目的WEB-INF\classes 下的,放在src下只是为了在Eclipse下开发之用。
Struts.xml文件最终是放在项目的WEB-INF\classes文件下的如果你要放在其他文件夹下好像也可以,但是需要在web.xml中另外配置!
[code="java"]http://blog.csdn.net/zhangxianwei/archive/2009/07/16/4353902.aspx[/code]
额,我还是觉得用老版本比较好,2.1.6的确有不小的bug!除了你发现的这个外,其他还有好几个,2.1.8现在没用过,我在用2.0.x和2.1.2的版本来做开发!(2.1.2也只是beta版,但是发现的问题比2.1.6少多了!当然有的Struts2的特性我还没用过!)