今天將webwork2.2.1更換成webwork2.2.2,出現了一個奇怪的異常,每次啟動后,都會報出:
org.xml.sax.SAXParseException:?Element?type?"global-exception-mappings"?must?be?declared.
com.opensymphony.xwork.config.ConfigurationException:?Caught?exception?while?loading?file?xwork.xml
????with?nested?exception?
org.xml.sax.SAXParseException:?Element?type?"global-exception-mappings"?must?be?declared.
如果將xwork.xml中的
global-exception-mappings注釋掉便好
頭疼了幾個小時解決不了,不得不求助飛云小俠
飛云小俠一出手果然不同,馬上定位了問題所在
就是這句:
<!DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.1.1//EN"?"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
原來雖然幾次升級webwork.jar,但是xwork.xml的DTD解析還是用的原來的DTD,頂多就是改了DTD的地址,也就是將這句

?"http://www.opensymphony.com/xwork/xwork-1.1.dtd">

改為這樣
?"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
而實際上解析DTD是靠的前面那句
<!DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.1.1//EN"?
>
原來一直是
<!DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.0//EN"?
>

于是就出現了上面的問題
多謝飛云小俠的幫助^_^