深入struts2(二)

分模块开发

所有配置信息都放在struts.xml中会使其变得不便维护,可采用分模块开发,如

分为struts1.xml,struts2.xml

只须在struts1.xml中添加<include file="struts2.xml"></include>即可

 

 

模型驱动

struts1中有一个form bean来关联jsp与action之间的关系,struts2中直接在action中定义属性来解决,这种称为属性驱动。

模型驱动是采用一个bean来实现,bean中定义了页面中的元素,并get set。模型驱动类似于struts1中的formBean。如定义一个User

action必须实现ModelDriven接口。ModelDriven有泛型,泛型就是User。

实现ModelDriven后,必须重写getModel()方法,返回的就是这个泛型。事先要先定义一外此泛型的属性,并new出一个实例。如:

private User user = new User();

public User getModel() {

return user;

}

 

 

Preparable接口

action可实现Preparable接口并重写prepare方法,这样在执行任何action中方法之前都会先执行此方法。

 

 

防止表单重复提交

在<s:form>中添加<s:token name="helo"></s:token>

还要在相应的action中添加token拦截器

<action ....>

...

<result name="invalid.token"></result> //发生表单重复提交后返回的页面

<interceptor-ref name="token"></...>

<interceptor-ref name="defaultStack"></...>

</action>

 

在国际化文件中可配置它的错误信息,如:不可重复提交

国际化的key为struts.messages.invalid.token

页面上用actionError显示即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值