将所有请求重定向,然后将某些名称重定向到单页

时间:2012-10-15 07:46:09

标签: struts2

如果有任何用户请求页面,如/ q / abc1和/ q / abc2等。我想将q后面的所有请求重定向到单个页面。

假设用户在www.mysite.com/q/abc1或www.mysite.com/q/abc2上请求时,我想将所有请求后跟q重定向到单个页面,例如handler.jsp。

2 个答案:

答案 0 :(得分:0)

嗯...... package namespace="/q"和默认操作<default-action-ref name="someAction"/>怎么样。

答案 1 :(得分:0)

我认为你应该使用过滤器并在fwd之前筛选出请求到struts 2框架(FilterDispatcher)

public class SampleServletFilter implements Filter {
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;
            String requestURI = httpRequest.getRequestURI();
            if(requestURI.contains("/q/")) {
               // redirect to handler.jsp
            } else {
                chain.doFilter(request, response);
            }     

       }    
   }

使用struts2拦截器处理这种情况很棘手。