我正在尝试ajax与struts2和dojo做一些非常简单的事情:
在jsp中:
...
<sx:head/>
...
<sx:div href="/myUrl.action">Loading ...</sx:div>
...
我工作得很好,提取网址等等。但是,当我通过修改jsp重新加载上下文(我有一个带有reloadable =“true”标志的上下文)时,它不再起作用。
原因似乎是以下网址不再可访问: http://myserver.com/myContext/struts/dojo/struts_dojo.js
导致以下异常:
java.lang.NullPointerException
org.apache.struts2.dispatcher.DefaultStaticContentLoader.findStaticResource(DefaultStaticContentLoader.java:162)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeStaticResourceRequest(ExecuteOperations.java:62)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:86)
com.cellectis.servlet.common.SessionRecorder.doFilter(SessionRecorder.java:68)
(工作时可以访问)。
我尝试过struts2-jquery并且具有完全相同的javascript可访问性问题。
我的web.xml摘录:
...
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/st2fr/*</url-pattern>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
...
我没有/ *的简单url-pattern,因为在同一个上下文中有一些非struts servlet。 / st2fr是我的struts应用程序所在的命名空间,而/ struts / *是可以访问dojo javascript的。
我在tomcat-6.0.13上使用struts-2.3.1
有没有人知道为什么这种好奇的行为或做什么?
感谢您的关注。
艾默里克