如果有任何用户请求页面,例如 /q/abc1 和 /q/abc2 等。我想将 q 后面的所有请求重定向到单个页面。
假设每当用户使用 www.mysite.com/q/abc1 或 www.mysite.com/q/abc2 请求时,我想将所有后跟 q 的请求重定向到单个页面,例如 handler.jsp。
如果有任何用户请求页面,例如 /q/abc1 和 /q/abc2 等。我想将 q 后面的所有请求重定向到单个页面。
假设每当用户使用 www.mysite.com/q/abc1 或 www.mysite.com/q/abc2 请求时,我想将所有后跟 q 的请求重定向到单个页面,例如 handler.jsp。
我认为您应该在 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 拦截器处理这种情况很棘手。
package
嗯... withnamespace="/q"
和 default action怎么样<default-action-ref name="someAction"/>
。