您的位置:首页 > 编程语言 > Java开发

使用Struts标签库,JSP页面报:java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils

2011-09-05 19:12 627 查看
我的解决方法是:

不用xwork-2.1.6.jar,换xwork-2.1.2.jar!

 

 JSP页面里引入了struts标签库:<%@taglib prefix="s" uri="/struts-tags"%>

写个简单的form,

<div>
<s:form action="">
<s:textfield name="username" label="用户名"></s:textfield>
<s:textfield name="password" label="密      码"></s:textfield>
<s:submit value="login"></s:submit>
</s:form>
</div>


结果运行后JSP出错:java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils

 

从字面上看,已经知道原因了:找不到TextUtils这个类导致的。

 

看一下代码,没错误吧。OK,代码没错,那就是其他代码问题了!对象只有一种可能:引入的jar包出问题了。

 

网上查查都说是jar包冲突的问题。xwork-2.1.6.jar里已经去掉了TextUtils!!!OK,你不可能去下载这个class手动加进来吧?那就用现成的最安全。目标锁定在xwork-2这个jar包上,那就看看这个jar的版本情况吧。Google一下还是得到答案了,TextUtils存在于之前的版本,为神马高版本的2.1.6去掉了该类那也是很无语的。有人说2.1.8可以,但是还得牵连到json的jar包。如http://blog.csdn.net/foart/article/details/6669836这样解决的:

在下载好的Struts2的lib文件夹里找到了以下jar包:

json-lib-2.x.jar

struts2-json-plugin-2.x.x.jar

struts2-junit-plugin-2.x.x.jar

上面三个包加入项目里之后,再删除jsonplugin-0.3x.jar包

 

我用的是S2SH框架,struts2-core-2.1.6.jar + xwork-2.1.6.jar。

既然xwork-2.1.6.jar已经去掉了TextUtils,那就不能用这个版本了。

个人觉得删除jsonplugin-0.3x.jar包再换几个jar包,而且是换的版本基本上都是越来越高。这样做安全性不高。如果换个环境,并不能保证即使不会再出现这个问题,也许还有其他问题的存在。当然,接下来我的简单而保守的做法也可能面临一些版本的问题,给大家分享下。

 

不用xwork-2.1.6.jar,换xwork-2.1.2.jar!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts jsp jar action google json
相关文章推荐