[Tapestry5] tapestry 5.1 更新数据
hxzon
2010-08-04
使用tapestry 5.1 更新数据,
当显示页面时,使用一个对象,例如user,发现页面提交时,自动生成了另一个user对象,不是渲染页面时的对象了。 如何不自动生成新的user对象,而是使用旧的user对象。 使用@Persist的话是会话范围保留值,但这是不正确的,因为打开多个修改页面时,user是最后一次打开的user对象,而不是每个页面一个对象。 请教~~ |
|
fantify
2010-08-05
看你的情况,你应该是使用了BeanEditor或者BeanEditForm组件了吧?
如果是这样的话在表单提交时,因为user必定为null(因为没有使用任何persist策略)t5会自动为你调用new User()来生成一个user对象。简单的解决方法有2个: 1. 把user放到activation context中,即添加类似 void onActivate(User user)和UseronPassivate() {return this.user}这2个方法。这样用户信息能在请求之间通过url来维持 2. 使用hidden组件把user保存在表单中,如<t:hidden value="user"/>,这里要求hidden放在form组件的最开始位置,因此只能使用BeanEditor而不能使用BeanEditForm了。 注:为了在url或者hidden中只使用该user的id,需要在系统中配置好User的ValueEncoder |
|
hxzon
2010-08-05
非常感谢,昨晚仔细看文档发现了方法一,呵呵,thanks very much~
|
相关讨论
相关资源推荐
- 关闭ICMP协议,IP安全策略对服务器的安全有很大帮助!
- linux ssh关闭icmp,ICMP协议&服务器怎么开启关闭ICMP协议?
- 解决ICMP timestamp请求响应漏洞:在您的防火墙上过滤外来的ICMP timestamp(类型 13)报文以及外出的ICMP timestamp回复报文
- Windows系统icmp协议的打开与关闭
- 请问linux操作系统下怎么关闭icmp,Linux 开启和关闭Ping的操作方法
- ping命令详解 ping不通处理方法
- icmp协议_ICMP协议&服务器怎么开启关闭ICMP协议?
- Windows系统设置开启Ping或禁Ping(超详细)
- 配置Windows 防火墙,仅允许配置的服务通过防火墙;禁止ICMP回显请求
- 禁止 Windows Server 服务器的 Ping 请求