我有一个全局结果,向用户返回404错误。 我也有一个默认动作,我想做同样的事情。
我希望我的成功结果是默认操作,以扩展我的全局ar
结果,但我不知道如何。我错过了什么吗?
ar
答案 0 :(得分:1)
正如@Aleksandr M和@Roman C在评论中所述,我想要的是不可能的。在发布问题后,我意识到我想要记录默认操作,所以我最后写了一个类。
@org.apache.struts2.convention.annotation.Action("notfound")
public class DefaultAction implements Action, ServletRequestAware
{
private static Logger logger = LogManager.getLogger(DefaultAction.class);
private HttpServletRequest request;
@Override
public String execute() throws Exception
{
logger.warn("Unknown target "+request.getRequestURI());
return "securityerror";
}
@Override
public void setServletRequest(HttpServletRequest req)
{
this.request = req;
}
}
struts.xml中
<default-action-ref name="notfound" />
<global-results>
<result name="intLogin" type="redirect">${#request.loginUrl}</result>
<result name="input" type="tiles">user</result>
<result name="securityerror" type="httpheader">
<param name="error">404</param>
<param name="errorMessage">Oh No You Didn't</param>
</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="com.me.s2ui.AccessException" result="securityerror" />
</global-exception-mappings>