当前位置: 代码迷 >> Java Web开发 >> jsp:include引用action的异常,各位帮帮忙。
  详细解决方案

jsp:include引用action的异常,各位帮帮忙。

热度:68   发布时间:2016-04-16 22:16:18.0
jsp:include引用action的错误,各位帮帮忙。。。
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 IOExceptionServletException {
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也白搭
  相关解决方案