在strutrs2遇到的一些会忽略的问题
2017-08-11 18:32
344 查看
在struts2中,提交上来的url符合struts的url拦截规则,但是没有该action方法,会默认调用其excute()方法:
(1)若是提交上来的数据没有通过validate()方法的校验,就会直接返回result,rusult的值为:input,若在struts.xml中没有该result结果,则会显示异常通常为警告: No result defined for action tutorial.ProductConfirm and result input,它提示我们没有为Action定义输入结果
解决办法:在struts.xml的action中添加相应result,其结果为input。或者把自己的validate()方法重写(一般不这么做,因为一般不用struts2的校验不合法数据)。还有一种方法就是使用javaScript去清除掉不合法的数据。
(2)若是你没有定义有execute()方法,但是默认的继承类ActionSupport类里,就会有这个方法的定义,而且返回值是“success”,若是struts.xml中的相应action中有result的值为success,则会跳转至该模板。(ps:一般登录方法中就经常出现只输入其action前缀就能登陆进去的。)例如:
struts.xml中定义有:
如果你的LoginAction.java中没有重写execute()方法,也没有相应的拦截器拦截,在部署你的项目到tomcat并运行时,你会发现,你直接输入http://127.0.0.1:8080/项目名/Login.action,就能直接进入你的主页。
为了避免这个错误,我们在使用struts2框架时,应该加上自己的拦截器,或者在自己的LoginAction.java中去重写execute()方法。避免项目的bug。
最后一句:学习之路任重道远。
(1)若是提交上来的数据没有通过validate()方法的校验,就会直接返回result,rusult的值为:input,若在struts.xml中没有该result结果,则会显示异常通常为警告: No result defined for action tutorial.ProductConfirm and result input,它提示我们没有为Action定义输入结果
解决办法:在struts.xml的action中添加相应result,其结果为input。或者把自己的validate()方法重写(一般不这么做,因为一般不用struts2的校验不合法数据)。还有一种方法就是使用javaScript去清除掉不合法的数据。
(2)若是你没有定义有execute()方法,但是默认的继承类ActionSupport类里,就会有这个方法的定义,而且返回值是“success”,若是struts.xml中的相应action中有result的值为success,则会跳转至该模板。(ps:一般登录方法中就经常出现只输入其action前缀就能登陆进去的。)例如:
struts.xml中定义有:
<package name="default" extends="struts-default" namespace="/"> <!-- 登陆 --> <action name="Login_*" class="LoginAction" method="{1}"> <result name="success">/WEB-INF/page/system/login/main.jsp</result> <result name="logout">/login.jsp</result> <result name="error">/error/error404.jsp</result> </action> </package>
如果你的LoginAction.java中没有重写execute()方法,也没有相应的拦截器拦截,在部署你的项目到tomcat并运行时,你会发现,你直接输入http://127.0.0.1:8080/项目名/Login.action,就能直接进入你的主页。
为了避免这个错误,我们在使用struts2框架时,应该加上自己的拦截器,或者在自己的LoginAction.java中去重写execute()方法。避免项目的bug。
最后一句:学习之路任重道远。
相关文章推荐
- MySQL windows下安装一些遇到的的问题
- 网络编程遇到的一些问题
- android开发遇到的一些问题,随手记录~
- camera开发中遇到的一些问题, 备忘
- 项目适配iOS9遇到的一些问题及解决办法(更新两个小问题)
- 最近一阵子写C#的项目,遇到的一些问题以及解决的办法,跟大家分享一下```
- cocos creator配置原生平台调试遇到的一些问题
- VS2010中集成 QT 遇到的一些问题
- 最近遇到的一些问题及发现
- 关于编码遇到的一些问题
- ubuntu学习遇到的一些问题解决方案汇总
- 敲程序时遇到的一些逗比问题
- Linux系统遇到的一些问题
- JSP连接sqlserver 2008遇到的一些问题
- 在iphone下遇到的一些兼容性问题
- 对linux系统进行内核升级遇到的一些问题
- 使用ITK,VTK与QT过程遇到的一些问题
- Hadoop MapReduce案例word count本地环境运行时遇到的一些问题
- Windows网络编程(第2版)中遇到的一些问题
- Android Studio使用过程中遇到的一些问题及解决方案