異常代碼形式:
嚴重: exception occurred during processing
request: null
java.lang.nullpointerexception
at
com.opensymphony.xwork2.util.localizedtextutil.findtext(localizedtextutil.java:630)
at
com.opensymphony.xwork2.util.localizedtextutil.findtext(localizedtextutil.java:606)
com.opensymphony.xwork2.textprovidersupport.gettext(textprovidersupport.java:210)
com.opensymphony.xwork2.textprovidersupport.gettext(textprovidersupport.java:139)
org.apache.struts2.interceptor.tokeninterceptor.geterrormessage(tokeninterceptor.java:182)
org.apache.struts2.interceptor.tokeninterceptor.handleinvalidtoken(tokeninterceptor.java:166)
org.apache.struts2.interceptor.tokeninterceptor.handletoken(tokeninterceptor.java:151)
org.apache.struts2.interceptor.tokeninterceptor.dointercept(tokeninterceptor.java:142)
com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98)
com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246)
org.apache.struts2.impl.strutsactionproxy.execute(strutsactionproxy.java:54)
org.apache.struts2.dispatcher.dispatcher.serviceaction(dispatcher.java:562)
org.apache.struts2.dispatcher.ng.executeoperations.executeaction(executeoperations.java:77)
org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter.dofilter(strutsprepareandexecutefilter.java:99)
org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235)
org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206)
org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233)
org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191)
org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127)
org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103)
org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109)
org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:293)
org.apache.coyote.http11.http11aprprocessor.process(http11aprprocessor.java:879)
org.apache.coyote.http11.http11aprprotocol$http11connectionhandler.process(http11aprprotocol.java:617)
org.apache.tomcat.util.net.aprendpoint$worker.run(aprendpoint.java:1760)
java.lang.thread.run(thread.java:662)
異常原因:
(1)如果把相關的<s:token/>等關于重複送出的配置
去掉就會一切正常,
一加上action所有的屬性全部為空.
診對這個問題,如果加上其它的攔截器如token的攔截器,
那麼struts2.3.16預設的攔截器
不會被執行,而為action中的對象指派剛好是預設攔截器的功能.
是以解決方法就是我們在配置過struts2.3.16重複送出的攔截器功能後還要手動的配置一下
預設的攔截器,否則前台頁面送出的東西就不能自動的為action進行指派
struts.xml的代碼:
<?xml version="1.0" encoding="utf-8"
?>
<!doctype struts
public
"-//apache
software foundation//dtd struts configuration 2.3//en"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="struts"
extends="struts-default" >
<action
name="login" class="action.loginaction">
<interceptor-ref
name="defaultstack"></interceptor-ref>
name="token"></interceptor-ref>
<result
name="invalid.token">/error.jsp</result>
<result name="success"
type="dispatcher">
<param
name="location">/login.jsp</param>
</result>
</action>
</package>
</struts>
同時要注意兩點問:(1)自己寫的action類一點要繼承actionsupport。
(2)表單内部要加上<s:token></s:token>标簽。