如何从自定义Struts RequestProcessor类重定向?

时间:2015-04-17 19:17:17

标签: java jsp java-ee model-view-controller struts

我正在开发一个Struts应用程序。我只需要允许POST方法请求来调用操作类。

为此,我编写了自定义RequestProcess类并重写了processPreprocess方法:

@Override
protected boolean processPreprocess(HttpServletRequest request,
        HttpServletResponse response) {
    if("POST".equalsIgnoreCase(request.getMethod())){
        return true;
    }else
        return false;
}

如果请求方法为GET,我想重定向到index.jsp页。

我不确定管理此重定向的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

一种方法是,您可以根据覆盖的方法编写自定义错误代码,例如 response.getWriter()。write(" INVALID REQUEST")。 根据您的项目配置转换它。根据这些自定义错误代码,您可以从客户端重定向到您喜欢的任何页面,即从请求的回调方法。

答案 1 :(得分:0)

如果您想重定向GET请求,那么您应该执行类似

的操作
@Override
protected boolean processPreprocess(HttpServletRequest request,
        HttpServletResponse response) {
    if("GET".equalsIgnoreCase(request.getMethod())){
        response.sendRedirect(request.getContextPath()+"/index.jsp");
        return false;
    }else
        return super.processPreprocess(request, response);
}