0

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

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

4

2 回答 2

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 拦截器处理这种情况很棘手。

于 2012-10-15T10:53:48.450 回答
0

package嗯... withnamespace="/q"和 default action怎么样
<default-action-ref name="someAction"/>

于 2012-10-15T09:16:34.900 回答