Struts2.1.8 클라이언트 유효성 검사

1707 단어
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.SimpleMethodModel
File: SimpleMethodModel.java
Method: exec
Line: 130 - freemarker/ext/beans/SimpleMethodModel.java:130:-1
org.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
아...이것도 단지 병력을 늦추는 계략일 뿐이다.더 좋은 해결책이 있기를 기대합니다.

좋은 웹페이지 즐겨찾기