jsp页面中使用struts2标签后出现500错误 5
<%@pagelanguage="java"pageEncoding="UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%><!...
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<s:form action="UserAction_login.do" validate="true">
<table>
<tr><td>姓名:
<s:text name="name"></s:text> </td>
<td>密码<s:text name="psw"></s:text></td>
</tr>
<tr>
<td><s:submit value="提交"></s:submit></td>
</tr>
</table>
</s:form>
</body>
</html>
该页面使用了struts2标签,当在网页中输入http://localhost:8080/test/index.jsp,当页面加载时,出现了
错误
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this
request.
exception
org.apache.jasper.JasperException: Exception in JSP: /index.jsp:13
10: </head>
11:
12: <body>
13: <s:form action="UserAction_login.do" validate="true">
14: <table>
15: <tr><td>濮揿悕锛�
16: <s:text name="name"></s:text> </td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:58)
org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:54)
org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:49)
org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:98)
org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
问这是怎么回事,怎么解决吗? 展开
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<s:form action="UserAction_login.do" validate="true">
<table>
<tr><td>姓名:
<s:text name="name"></s:text> </td>
<td>密码<s:text name="psw"></s:text></td>
</tr>
<tr>
<td><s:submit value="提交"></s:submit></td>
</tr>
</table>
</s:form>
</body>
</html>
该页面使用了struts2标签,当在网页中输入http://localhost:8080/test/index.jsp,当页面加载时,出现了
错误
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this
request.
exception
org.apache.jasper.JasperException: Exception in JSP: /index.jsp:13
10: </head>
11:
12: <body>
13: <s:form action="UserAction_login.do" validate="true">
14: <table>
15: <tr><td>濮揿悕锛�
16: <s:text name="name"></s:text> </td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:58)
org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:54)
org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:49)
org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:98)
org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
问这是怎么回事,怎么解决吗? 展开
5个回答
展开全部
首先你检查下web.xml配置文件,是否有下面段话
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping〉
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果确定上面不能解决后,看下面的解释。。。
<s:text name="psw"></s:text>
这个标签是取国际化(.properties)文件中的键值。
你有没有在struts.xml中配置国际化,有没有国际化文件,下面那句话
<constant name="struts.custom.i18n.resources" value="国际化文件名"></constant>
看你写的
<td>姓名: <s:text name="name"></s:text> </td>
你应该是想写文本框的标签,文本框标签如下
<s:textfield id="aa" name="abcd" value="哈哈"></s:textfield>
希望对你有所帮助,good luck!
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping〉
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果确定上面不能解决后,看下面的解释。。。
<s:text name="psw"></s:text>
这个标签是取国际化(.properties)文件中的键值。
你有没有在struts.xml中配置国际化,有没有国际化文件,下面那句话
<constant name="struts.custom.i18n.resources" value="国际化文件名"></constant>
看你写的
<td>姓名: <s:text name="name"></s:text> </td>
你应该是想写文本框的标签,文本框标签如下
<s:textfield id="aa" name="abcd" value="哈哈"></s:textfield>
希望对你有所帮助,good luck!
展开全部
在struts.xml中加上<constant name="struts.action.extension" value="do"></constant>,默认是action,要不你就把do去掉,struts标签提交会默认找你要提交的action
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struts2 默认action的后缀是 *.action
你的form里面是.do,改过来试试。
你的form里面是.do,改过来试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该是struts.xml中配置文件的错误!你的配置文件中有没有配置<constant name="struts.action.extension" value="do"></constant>,如果没有配置默认是以.action结束的而不是.do.你最好把配置文件和你自定义的action一块发出来看!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%@ taglib prefix="s" uri="/struts-tags"%>
应该是引用struts2标签出错
可能是没有jar包
或许是你的uri路径不对,你最好找到struts2的标签文件,去里面拷贝它的uri
应该是引用struts2标签出错
可能是没有jar包
或许是你的uri路径不对,你最好找到struts2的标签文件,去里面拷贝它的uri
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询