javaWeb常用框架技术总结

来源:互联网 发布:淘宝直播广告图片 编辑:程序博客网 时间:2024/05/21 09:31

Struts2:

为什么每次请求都要创建一个Action对象?

strust2的action里面很多情况下都是需要定义成员变量用来接收表单上的值,如果只是一个对象的话,那么很可能会出现多个线程共用一个成员变量 出现线程安全问题,因此struts2每次请求都要创建一个Action对象.

ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题?

比如,你可以把新对象的属性拷贝到旧对象上;比如,你可以先把旧对象从ValueStack中移除,然后再把新对象压入ValueStack等……

在最新的struts2版本中,ModelDrivenInterceptor提供了一个配置参数:refreshModelBeforeResult,只要将它定义为true,上述问题就被解决了!struts2的解决方案就是:先把旧的model对象从ValueStack中移除,然后再把新的model对象压入ValueStack!

更新ValueStack中的model对象,先把旧的model对象从ValueStack中移除,然后再把新的model对象压进ValueStack!




原创粉丝点击