1.相对路径错误

2.绝对路径错误

3.

4.

到底怎么写才是对的啊啊啊啊



------解决方案--------------------
楼主的问题解决了吗?
楼主,你的页面上面引了uri=/struts-tags,那页面上就直接使用struts2的标签来引用吧。
jsp的include貌似不支持直接引action的方式。
------解决方案--------------------
include、forward执行的必须是一个有效的资源地址,*.action文件不存在,当然就出错了。
如果你的这些引用的action只是简单的映射到jsp、servlet文件,就直接用这些文件的访问路径,比如/user/head.jsp
不然不可以用include,得换种思路
------解决方案--------------------
额。。我在4楼瞎说了,刚开始测试的时候Filter只过滤了REQUEST请求,刚才感觉不对,又测试过滤FORWARD、INCLUDE的请求,发现可以include。
@WebFilter(dispatcherTypes = {DispatcherType.FORWARD , DispatcherType.INCLUDE}, urlPatterns = { "/test.action" })
public class F implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.getRequestDispatcher("/text.jsp").include(request, response);
//include执行的方法中不能包含forward,forward会把输出缓冲清空,调用include页面的内容将不会输出
//request.getRequestDispatcher("/text.jsp").forward(request, response);
}
}
我在一个页面中include("/test.action"),/test.action被映射到了/test.jsp文件,不过要求/test.action请求内没有调用forward
感觉你的.action路径转到实际的处理页面,有可能调用了forward,后果是调用页面只显示include页面的内容
------解决方案--------------------
你直接include page="/page/User/common/top.jsp",省得绕来绕去

估计struts源码里也用了forward,能include也白搭