我是瓷砖和 strut2 的新手。我无法理解,当我在 login.jsp 页面中使用 HTML 标记时,它可以正常工作,但同时如果我在 login.jsp 中的 struts 标记中编码,则会出现错误。为什么会发生这种情况我无法理解。下面给出了以下代码和错误..请帮助我
HTTP 状态 500 - 内部服务器错误
类型异常报告
消息内部服务器错误
描述服务器遇到一个内部错误,阻止它完成这个请求。
例外
javax.servlet.ServletException:执行标记时出错:JSPException,包括路径“/baseLayout.jsp”。
根本原因
org.apache.tiles.TilesException:JSPException,包括路径“/baseLayout.jsp”。
根本原因
org.apache.tiles.util.TilesIOException:JSPException,包括路径“/baseLayout.jsp”。
根本原因
org.apache.tiles.util.TilesIOException:JSPException,包括路径“/login.jsp”。
根本原因
找不到 Struts 调度程序。这通常是由于使用没有关联过滤器的 Struts 标签造成的。 Struts 标记仅在请求通过其 servlet 过滤器时可用,该过滤器初始化此标记所需的 Struts 调度程序。 - [未知位置]
note GlassFish Server Open Source Edition 4.1 日志中提供了异常的完整堆栈跟踪及其根本原因。
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Struts2Example15</display-name>
<context-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>
/WEB-INF/tiles.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.view.tiles.TilesResult"/>
</result-types>
<action name="loginAction" class="package_entry.loginAction" method="execute">
<result name="getin">welcome.jsp</result>
<result name="user_login">user_login.jsp</result>
</action>
</package>
</struts>
索引.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page language="java"%>
<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertTemplate template="/baseLayout.jsp">
<tiles:putAttribute name="tiles" value="this is tes framework" type="string"/>
<tiles:putAttribute name="header" value="/header.jsp" />
<tiles:putAttribute name="menu" value="/menu.jsp" />
<tiles:putAttribute name="body" value="/body.jsp" />
<tiles:putAttribute name="footer" value="/footer.jsp" />
</tiles:insertTemplate>
菜单.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<a href="loging.jsp">Login</a><br>
<a href="registring.jsp">Register</a><br>
<a href="contacting.jsp">Contact</a><br>
日志记录.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertDefinition name="login.def"/>
瓷砖.xml
<tiles-definitions>
<definition name="baseLayout" template="/baseLayout.jsp">
<put-attribute name="title" value="Template"/>
<put-attribute name="header" value="/header.jsp"/>
<put-attribute name="menu" value="/menu.jsp"/>
<put-attribute name="body" value="/body.jsp"/>
<put-attribute name="footer" value="/footer.jsp"/>
</definition>
<definition name="login.def" extends="baseLayout">
<put-attribute name="title" value="Login form"/>
<put-attribute name="body" value="/login.jsp"/>
</definition>
<definition name="register.def" extends="baseLayout">
<put-attribute name="title" value="Register"/>
<put-attribute name="body" value="/register.jsp"/>
</definition>
<definition name="contact.def" extends="baseLayout">
<put-attribute name="title" value="contact"/>
<put-attribute name="body" value="/contact.jsp"/>
</definition>
</tiles-definitions>
登录.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<s:form>
<s:textfield name="email_id" label="Email"/>
<s:password name="password" label="Password"/>
<s:submit value="login"/>
</s:form>
</body>
</html>
很可能您必须为每个定义添加相对路径
例如改变
在
所以:
此外,我在任何地方都看不到您的图块渲染和配置器。您是否在 pom 中添加了瓷砖?