Struts2.1.8 客戶端驗證 validation

轉自:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73d678b975f3e898448e435061e5a35a3ea7d79565382833b2756b24a5ae1f0356537747af1c4969c0f80fbc4276ece6773365d914062d30eaebb5155b537e12cfedf69f0c9f52592dec5a3db4322ba44040a9786884d771fdd19f40342e5&p=8b2a911cc59e1ce01abd9b790664&user=baidu&fm=sc&query=struts2%BF%CD%BB%A7%B6%CB%D1%E9%D6%A4&qid=fcf1d5fa242dbd3b&p1=10

Struts2.1.8 在做客戶端驗證時,當form中給定 validation=“true”時,通過jsp頁面訪問會報一下異常:

Method public java.util.List org.apache.struts2.components.Form.getValidators(java.lang.String) threw an exception when invoked on org.apache.struts2.components.Form@18faef1 - Class: freemarker.ext.beans.SimpleMethodModelFile: SimpleMethodModel.javaMethod: execLine: 130 - freemarker/ext/beans/SimpleMethodModel.java:130:-1org.apache.struts2.components.UIBean.end(UIBean.java:515)org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:143)org.apache.jsp.index_jsp._jspService(index_jsp.java:80)org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)javax.servlet.http.HttpServlet.service(HttpServlet.java:803)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)javax.servlet.http.HttpServlet.service(HttpServlet.java:803)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)

解決的辦法就是

不要直接訪問你的JSP頁面,爲應用中所有頁面都配置一個通用Action,例如:

<action name="*">
    <result>{1}.jsp</result>
</action>

比如你要訪問abc.jsp頁面,你應該訪問abc.action,或者省略.action後綴,直接訪問abc也可以。
但不要直接訪問abc.jsp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章