2 java tomcat hibernate servlets tiles
我使用Hibernate框架创建了一个java Web应用程序.在WEB-INF中,我创建了一个新文件:tiles-defs.xml,下面是其中的内容:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="Page" template="/share/layout.jsp">
<put-attribute name="title" value="Page" />
<put-attribute name="header" value="/share/header.jsp" />
</definition>
<definition name="Index" extends="Page">
<put-attribute name="title" value="Vnmart" />
<put-attribute name="main" value="/home/IndexContent.jsp"/>
</definition>
</tiles-definitions>
Run Code Online (Sandbox Code Playgroud)
在web.xml中,我添加了一些行:
<context-param>
<param-name>
org.apache.tiles.definition.DefinitionsFactory.DEFINITIONS_CONFIG
</param-name>
<param-value>
/WEB-INF/tiles-defs.xml
</param-value>
</context-param>
<listener>
<listener-class>org.apache.tiles.web.startup.TilesListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
在网页文件夹中,我创建了包含2个jsp文件的主文件夹:Index.jsp和IndexContent.jsp.的index.jsp:
<%@taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<tiles:insertDefinition name="Index"/>
Run Code Online (Sandbox Code Playgroud)
和IndexContent.jsp:
<div>Home</div>
Run Code Online (Sandbox Code Playgroud)
之后,我创建了一个控制器包,并添加了新的Home servlet:
String view = "home/Index.jsp";
RequestDispatcher rd = request.getRequestDispatcher(view);
rd.forward(request, response);
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时,apache说:"HTTP状态404 - /Project2 /"(Project2是项目名称).然后,我检查了Apache Tomcat Log,发现了一个错误:
'SEVERE:servlet [Home]的Servlet.service()在路径[/ Project2]的上下文中引发异常[org.apache.tiles.impl.CannotRenderException:JSPException包括路径'/layouts/layoutfront.jsp'.]的根本原因javax.servlet.ServletException:找不到文件"/home/IndexContent.jsp"
我对此没有任何想法,我按照一些教程如何使用瓷砖,但我仍然卡住了.
小智 9
这个问题是在一年前被问到的,但是如果有人遇到同样的问题,那么我是如何修复它的.如果定义标记的name参数和add-attribute标记的value参数相同,我认为它会抛出stackoverflow错误消息.当我更改这些名称时,它对我来说很好.
<definition name="Page" template="/share/layout.jsp"><put-attribute name="title" value="Page xyz" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16520 次 |
| 最近记录: |