<jsp:include flush="true" page="<%=request.getContextPath() %>/inctemplate.jsp">
<jsp:param name="url" value="../../"/>
</jsp:include>上面的是不是不能用啊??
老出现解析不了啊

解决方案 »

  1.   

    如果你使用<jsp:include,那么你的根是你的contextPath,也就是通常是你的项目名称,所以只要写page="/inctemplate.jsp"就可以了,如果你是写在html标签里的,比如<a href="<%=request.getContextPath()%>/inctemplate.jsp"></a>,这句话在发送到客户端的浏览器时,会被变成<a href="/你的项目名/inctemplate.jsp"也就是说:如果你的目标访问地址是:http://127.0.0.1:8080/project/inctemplate.jsp
    在Servlet或JSP中,写路径以这个project为根的,你就写/inctemplate.jsp
    在HTML中,是以127.0.0.1:8080为根的,你要写一个绝对路径要写/project/inctemplate.jsp,这个request.getContextPath()方法的返回值就是/project
      

  2.   

    刚才写的有点毛病
    給你看個題,幫我看看哪點的错:谢谢!<jsp:include flush="true" page="<%=request.getContextPath() %>/inc/template.jsp">
    <jsp:param name="url" value="../"/>
    </jsp:include>应该没错啊,可是浏览器里出现这样:
    org.apache.jasper.JasperException: /jsp/user/userinfo.jsp(18,43) attribute for %>" is not properly terminated
      

  3.   

    因为标签里面不能嵌java代码
    因为那标签里面参数和格式都固定死了
    你突然来一个%>
    人家解析不出来
    请改变设计
      

  4.   

    我的意思是从webroot/jsp/user/userinfo.jsp文件中包含
    webroot/inc/template.jsp
      

  5.   

    <jsp:include flush="true" page="../../inc/template.jsp">
    </jsp:include> 这样应该就可以了吧