使用Struts標籤庫,JSP頁面報:java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils

來源:互聯網
上載者:User

我的解決方案是:

不用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!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.