Struts2框架中需要再动作类中使用execute返回字符串的方式与在struts.xml文件中注册的结果组件的name相对应的方式来进行页面的跳转。
execute中的返回字符串:
1. 返回字符串中的值必须与配置在声明性架构中期望的结果的名字匹配3.但是框架本身提供了Action接口,及其一个实现类,为什么要使用呢?先来看一下Action接口:(详见strtus2 api)
Action接口:
只有一个方法: execute()
和一些有用的String常量
e.g
<action name="Name"> <result>/NameCollector.jsp</result> </action>
ActionSupport类
它实现了Action接口,并提供了诸如数据验证,错误消息本地化等功能。
1.基本验证
前提:包要扩展struts-default包,以继承默认拦截器栈
动作只要提供validate()方法,便可以检查JavaBean属性接收到的数据的合法性逻辑。若验证不通过,workflow拦截器会自动将其转到名字为“input”的结果页面。
ActionSupport实现了ValidationAware接口,从而提供了以下两个方法用来提供验证功能:
addFieldError(String fieldName, String errorMessage)
addActionError(String errorMessage)
通过这种方法,清楚的将验证逻辑和业务逻辑分离了。原因:workflow拦截器控制着验证逻辑的执行。
e.g
public class CheckDB extends ActionSupport{ execute(){ //business logic return SUCCESS; } validate(){ //validate logic } }
<action name="CheckDB" class="cn.myseu.action.CheckDB"> <result name="success">/dbresult.jsp</result> <result name="input">/namequery.jsp</result> </action>
Struts2 Action接口与ActionSupport类,布布扣,bubuko.com
Struts2 Action接口与ActionSupport类
原文:http://blog.csdn.net/tao_sun/article/details/20607367