Struts.action.excludePattern在Struts 2中不适用于我,我在表单操作中放置了servlet cal,表单将在hyperLink上提交点击.
struts.xml中:
<constant name="struts.action.excludePattern" value="/PunchoutOrder"/>
Run Code Online (Sandbox Code Playgroud)
web.xml中
<servlet>
<description></description>
<display-name>PunchoutOrder</display-name>
<servlet-name>PunchoutOrder</servlet-name>
<servlet-class>com.PunchoutOrder</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PunchoutOrder</servlet-name>
<url-pattern>/PunchoutOrder</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
JSP:
<form id="form1" name = "form1" method="post" action="PunchoutOrder">
<input type="image" alt="Submit" src="images/submit.png" onclick="Submit(form1);return false;"/>
Run Code Online (Sandbox Code Playgroud)
低于错误:
15:26:37,512 WARN [Dispatcher] Could not find action or result
There is no Action mapped for namespace / and action name PunchoutOrder. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
Run Code Online (Sandbox Code Playgroud)
我错过了什么...........?
谢谢.....
我遇到了同样的问题并且遇到了一些如何修复它的提示.但是我发现的解决方案,至少在Struts 2.2.2中,我在web.xml中使用了错误的过滤器.经过一些挖掘谷歌和SO帖子后,我发现改变自:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
至:
<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>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
更改过滤器后,struts.xml中的排除模式常量立即开始按预期运行.
这也记录在这里:https://cwiki.apache.org/confluence/display/S2WIKI/Troubleshooting+guide+migrating+from+Struts+2.0.x+to+2.1.x#TroubleshootingguidemigratingfromStruts2.0.xto2.1.的x FilterMapping%2CdefaultActionextensions%2CandServlets
虽然前面的条目说要明确声明动作扩展,但我发现修复过滤器声明后没有必要.
归档时间: |
|
查看次数: |
8326 次 |
最近记录: |