struts2 参数绑定和二次绑定
来源:互联网 发布:npm 淘宝源 编辑:程序博客网 时间:2024/05/16 16:17
我所做过的pss项目里面用到了strus2的二次参数绑定,今天早上翻看我的简历,心血来潮总结了下:
无论是将Action中的变量渲染页面中,或者从request中将内容回传到Action中变量的过程,统称参数绑定。
- 最原始的Struts2会直接赋值Action中的变量。 如hello.action?id=1,会将action中的id属性赋值。
- 如果参数较多,而且都属于同一个对象的,可以将所有属性都放入一个对象中,比如hello.action?user.id
会为action中的User对象的id属性赋值。
**3. ModelDriven接口,如果不想写太多”user.”前缀,如${user.id},可以实现ModelDriven接口的getModel函数,
返回user对象。则Struts2碰到{id}时,就会尝试调用getModel() 获得user对象再获取其id属性。 - Prepareable接口,还有一种情况Hibernate常用的情况,一个对象可能有很多属性(比如有10个属性),
但页面上可能只显示5个属性的输入框。如果按上面的方法,先new一个User类,然后从页面上赋值。
保存此对象时就会将不在页面上修改的5个属性清空了。这时就需要两次的binding,一开始user变量为空,
只绑定了action的id属性,然后在prepare()函数中查出有完整10个属性的对象,然后二次绑定时再将页面的那5个属性
复制到user对象中。
prepare()函数有两种作用,一种专门为了二次binding,一种是作为公共的数据准备函数。但是,
一个action内有多个method,不是每一个method都需要执行prepare,比如list()方法,如果这种method较多,
或者会造成冲突时,还有另外一种方式来定义二次binding函数。比如prepareSave() 函数,就会默认的在执行save()
前执行,此时,专门实现prePareMethodName() 方法再调度一个内部的prepare函数,而将prepare()函数留空。**
0 0
- struts2 参数绑定和二次绑定
- struts2 参数绑定和二次绑定
- Struts2参数二次绑定
- struts2中参数绑定和二次绑定详细介绍
- Struts2的参数绑定
- Struts2的参数绑定
- Struts2(二)-Struts2之参数绑定和拦截器
- struts2.0参数绑定和零配置实现
- struts2.0参数绑定和零配置实现
- springmvc 的参数绑定,springmvc和 struts2的区别
- SpringMVC参数绑定和自定义参数类型绑定
- 参数绑定
- 参数绑定
- springmvc参数绑定-pojo绑定
- springmvc参数绑定-复杂绑定
- 动态绑定和静态绑定,以及 缺省参数的静态绑定解释
- c++静态绑定和动态绑定以及虚函数中缺省参数的绑定
- spring NamedParameterJdbcTemplate 和 SqlParameterSource 参数绑定使用
- java枚举分析
- effective java 第二章读书笔记
- python Sparse matrices 单位矩阵
- JVM和传统OS对比
- EJB--实体映射
- struts2 参数绑定和二次绑定
- TCP/IP基础知识
- #java#抽象类与抽象方法
- 感知机1 -- 感知机模型
- iOS - Block
- sql server 数学函数浅析
- Spring定时任务的几种实现
- R语言适配问题集锦
- Default Access Modifiers (C#)