在这里您要如何禁用此功能。创建一个虚拟bean
package com.struts.handler;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.Result;import com.opensymphony.xwork2.UnknownHandler;import com.opensymphony.xwork2.XWorkException;import com.opensymphony.xwork2.config.entities.ActionConfig;public class MyUnknownHandler implements UnknownHandler { @Override public ActionConfig handleUnknownAction(String namespace, String actionName) throws XWorkException { return null; } @Override public Result handleUnknownResult(ActionContext actionContext, String actionName, ActionConfig actionConfig, String resultCode) throws XWorkException { return null; } @Override public Object handleUnknownActionMethod(Object action, String methodName) throws NoSuchMethodException { return null; }}然后在中配置它
struts.xml:
<bean type="com.opensymphony.xwork2.UnknownHandler" name="handler" /> <unknown-handler-stack> <unknown-handler-ref name="handler"/> </unknown-handler-stack>
在这里解释:
上面提到的约定插件及其创建的配置还放置了一个未知的处理程序,该处理程序应处理不存在配置的URL(即不是由约定创建的)。这是问题的根源。
现在放置您自己的处理程序将禁用约定的。因此它将不再按惯例处理结果。



