我想将另一个JSP页面(例如:标题页面)添加到主JSP页面。我想避免编写真正的jsp页面名称。因此,我写了另一个名字,让我们说“topbanner”。 这是代码
<%@include file="topbanner"%>
真实页面是topheader.jsp,它位于项目
中
- &GT;基于web&GT;报头 - &GT; topheader.jsp
在我的部署描述符(web.xml)中,我已经在web.xml中映射了topheader.jsp
<servlet>
<servlet-name>pagetop</servlet-name>
<jsp-file>/header/topheader.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>pagetop</servlet-name>
<url-pattern>/topbanner</url-pattern>
</servlet-mapping>
但这不起作用。它抛出异常
org.apache.jasper.JasperException: /index.jsp (line: 11, column: 1) File "/topbanner" not found
任何人都让我知道问题所在,以及如何使用示例代码修复它。
修改
我不能将<%@include file=" ..."%>
用于映射的jsp s吗?
答案 0 :(得分:1)
静态&lt;%@ ...&gt; JSP包含给定路径中的文本。如果您希望在顶部或底部包含另一个JSP,则应使用prelude and code
。
以下是示例:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<include-prelude>/header.jsp</include-prelude>
<include-coda>/footer.jsp</include-coda>
</jsp-property-group>
</jsp-config>
Prelude
在开头添加。Coda
。以下是一些教程:
答案 1 :(得分:0)
尝试类似:
doGet()
servlet Topbanner
方法
Forward
或Include
使用topbanner.jsp
doGet()
中的RequestDispatcher
醇>