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.

问这是怎么回事,怎么解决吗?
展开
 我来答
zhaotao_king
2010-06-24 · TA获得超过2455个赞
知道大有可为答主
回答量:863
采纳率:0%
帮助的人:1132万
展开全部
首先你检查下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!
laifu901
2010-06-25 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:247
采纳率:66%
帮助的人:56.2万
展开全部
在struts.xml中加上<constant name="struts.action.extension" value="do"></constant>,默认是action,要不你就把do去掉,struts标签提交会默认找你要提交的action
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
财神万岁86
2010-07-01 · TA获得超过1.1万个赞
知道小有建树答主
回答量:898
采纳率:0%
帮助的人:479万
展开全部
struts2 默认action的后缀是 *.action
你的form里面是.do,改过来试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huanfenfei
2010-06-25
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
你应该是struts.xml中配置文件的错误!你的配置文件中有没有配置<constant name="struts.action.extension" value="do"></constant>,如果没有配置默认是以.action结束的而不是.do.你最好把配置文件和你自定义的action一块发出来看!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友57f5b6a65
2010-06-24
知道答主
回答量:8
采纳率:0%
帮助的人:1.4万
展开全部
<%@ taglib prefix="s" uri="/struts-tags"%>
应该是引用struts2标签出错

可能是没有jar包
或许是你的uri路径不对,你最好找到struts2的标签文件,去里面拷贝它的uri
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式