jsp页面中使用struts2标签后出现500错误

<%@ 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.

问这是怎么回事,怎么解决吗?

首先你检查下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!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-25
在struts.xml中加上<constant name="struts.action.extension" value="do"></constant>,默认是action,要不你就把do去掉,struts标签提交会默认找你要提交的action
第2个回答  2010-07-01
struts2 默认action的后缀是 *.action
你的form里面是.do,改过来试试。
第3个回答  2010-06-25
你应该是struts.xml中配置文件的错误!你的配置文件中有没有配置<constant name="struts.action.extension" value="do"></constant>,如果没有配置默认是以.action结束的而不是.do.你最好把配置文件和你自定义的action一块发出来看!
第4个回答  2010-06-24
<%@ taglib prefix="s" uri="/struts-tags"%>
应该是引用struts2标签出错

可能是没有jar包
或许是你的uri路径不对,你最好找到struts2的标签文件,去里面拷贝它的uri

jsp页面中使用struts2标签后出现500错误
你应该是struts.xml中配置文件的错误!你的配置文件中有没有配置<constant name="struts.action.extension"value="do"><\/constant>,如果没有配置默认是以.action结束的而不是.do.你最好把配置文件和你自定义的action一块发出来看!

struts2一遇到标签就出错,怎么回事?
你的情况是由于struts2的标签错误 首先确保在开头有 <%@ taglib prefix="s" uri="\/struts-tags" %> 其次保证必要的jar包的导入 最后保证不要重复导入jar包 也就是先删除lib下的所有jar包 然后再重新导入

jsp的HTTP Status 500 - Unable to compile class for JSP
你的jsp 有错误啊 不能通过编译...

struts2的标签包含页面后出现乱码
你看一下是不是 jsp 文件的 编码方式不对,右键属性看一下, 你可以copy 一下不乱码的jsp 然后去修改,因为新建jsp的时候, eclipse 有一个设置默认编码的 地方,你可能是没有修改吧。

用struts2实现注册tomcat已运行正常,但到jsp页面,却总是显示注册失败...
struts2实现注册tomcat已运行正常,但到jsp页面,却总是显示注册失败的解决方法如下:1、在代码中设置locale属性。在struts.xml中加一个静态值。2、实现动态国际化,在页面中加入超连接的形式来实现,具体实现参见:点击打开链接。工程截图如下:3、弹出运行界面。4、重新进行注册,输入的用户名不能为空。5...

jsp中的struts2标签引入后不能用怎么办
1.name="mark_*" 是什么意思看 \/\/*号就是通配符 就是匹配所有mark_开始的提交action 2.method="{1}" 代表什么看 Action类里面的第一个方法 3.<result>\/index.jsp<\/result> 这个为什么没有name,没name,那么name就是success!

struts2返回的jsp页面无法以页面形式显示,请问在struts2中如何指定...
但是这些在Struts2的环境下却被解释为相对项目名称的路径,会出现样式、脚本路径不正确的问题。建议你最好把这些资源文件放在项目文件下的根目录WebRoot下,这样可以使用所谓的“相对路径”。1、相对路径 相对路径的引用格式如下:比如在aaa项目的bbb文件夹里面的abc.jsp文件里面 注意在这里,最开始的路径...

struts2的标签包含页面后出现乱码
included.jsp没有指定字符编码.所以出现了乱码;<%@ page language="java" contentType="text\/html; charset=utf-8" pageEncoding="utf-8"%>s:include的效果与jsp:include效果是一样的,一般我习惯用jsp:include 家裙:Java框架平台研发 378437335 ...

我用struts2写的登录页面,当我点击登录按钮时,发生了如下错误: 这是怎 ...
你的前台提交的action="struts.xml中配置的name的值.action"默认是提交到action中的execute方法中。你在action中没有写execute方法,写上就好使了。

Struts2为什么不能直接调用jsp页面
一个是客户端,一个是服务端,你说能直接调用么?jsp页面是在客户端显示。Struts2是在服务器上运行!你在服务器上可以直接关闭用户客户端的浏览器么?明显不能啊!!

相似回答