当前位置: 首页 > news >繁体>Tapestry AjaxFormLoop

Tapestry AjaxFormLoop

一个AjaxFormLoop控件需要指定source,value,t:id和encoder四个属性。

source和value跟loop一样。

而这个encoder必须要提供,因为它与addRow和removeRow有很大的关系。

另外一个form是必须的。

 

这里有几个注意事项

1 removeRow

对应着java端的onRemoveRowFromSomeId,而这个SomeId跟t:id的值是一样的。

2 addRow

同上,onAddRowFormSomeId。。。

3 onRemoveRowFromSomeId方法的参数,为value指定的类型。。。

而value的值为encoder的toValue的值。。。

4 onAddRowFormSomeId方法的返回值是一个value指定的类型。。。

所以页面上,必须要有这个value的所有的属性,否则会出错。。。

public class AjaxFormLoopStudy
{@Injectprivate UserService userService;@Property@Persistprivate List<User> userList;@Propertyprivate User user;@SetupRendervoid preparePageBean(){userList = userService.getAllUsers();}Object onAddRowFromUsers(){User user = new User();return user;}void onRemoveRowFromUsers(User user){System.out.println(user);userService.deleteCurrent(user);}// void onRemoveRowFromUsers(String user)// {// System.out.println(user);// // userService.deleteCurrent(user);// }public ValueEncoder<User> getValueEncoder(){return new ValueEncoder<User>() {public String toClient(User value){return value.getId();}public User toValue(String id){return new User(id);}};}
}
        <t:form t:id="form"><t:ajaxformloop source="userList" value="user" t:id="users"encoder="valueEncoder"><input t:type="textField" value="user.id" /><input t:type="textField" value="user.name" /><input t:type="textField" value="user.age" /><input t:type="textField" value="user.story" />|<t:removerowlink>删除</t:removerowlink></t:ajaxformloop></t:form>

 

转载于:https://www.cnblogs.com/voctrals/archive/2013/04/08/3008854.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-18704.html

如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网进行投诉反馈,一经查实,立即删除!


相关文章:

  • ElasticSearch 搜索引擎入门到实战 7--常见中文分词器的介绍和使用
  • Protobuffer简介c#
  • dbutils oracle配置,DBUtils 处理Oracle 日期类型
  • cocos2d-x for wp之EaseActions——运动加速效果
  • Kibana安装方法,和错误解决办法
  • 火狐同步密钥忘了
  • Android中调用摄像头预览
  • oracle10g单机修改ip,Oracle 10G如何更改IP地址
  • ElasticSearch 搜索引擎入门到实战 10--bulk批处理增删改-------
  • win驱动开发笔记-驱动对象结构分析
  • 是面试官放水,还是企业实在是缺人?这都没挂,字节原来这么容易进...
  • windows 如何查看端口占用情况?
  • ArcEngine 获取像元值
  • oracle select出来的表,Oracle使用select语句复制表
  • ElasticSearch 搜索引擎入门到实战 11--各种查询命令学习前的数据准备工作
  • php zend引擎漏洞,PHP Zend引擎释放后重用堆破坏漏洞(CVE-2010-4697)
  • File和URL的getPath()方法区别
  • 第二届华中区程序设计邀请赛暨武汉大学第十一届校赛 网络预选赛 解题报告...
  • ElasticSearch 搜索引擎入门到实战 12--term多种查询的使用 term,exists,prefix,wildcard,regexp,ids关键词的使用
  • oracle错误8192,oracle错误
  • Dive into Python读书笔记3
  • 重载和重写方法
  • ElasticSearch 搜索引擎入门到实战 13-- 范围查询,关键词range的使用
  • 资格赛:题目2:大神与三位小伙伴
  • centos安装oracle数据库阵列,CentOS-7下安装Oracle数据库
  • Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。
  • ElasticSearch 搜索引擎入门到实战 14-- 布尔查询,关键词bool的使用
  • Java安全管理器(Security Manager)
  • oracle 日期第一天和最后一天,查找ORACLE中最后一个季度的第一天和最后一天
  • Java 内存的三篇文章
  • ElasticSearch 搜索引擎入门到实战 15-- 查询的结果排序
  • sap 打补丁
  • VBS 重启 TP-Link 路由器
  • jsp分页技术用oracle实现,详细的jsp分页(oracle+jsp+apache)_jsp技巧
  • ElasticSearch 搜索引擎入门到实战 16-- 聚合查询之指标聚合
  • jQuery学习笔记——动画效果
  • 如何在嵌入式使用linux操作系统,全面解析嵌入式操作系统和Linux
  • 正则表达式-零宽度断言详解
  • ElasticSearch 搜索引擎入门到实战 17-- 聚合查询之桶聚合
  • 【初窥javascript奥秘之Ajax】简述下你所知道的Ajax?
  • linux 退出命令输入密码,linux终端中输入什么指令可以退出终端?
  • [复变函数]第17堂课 5 解析函数的 Laurent 展式与孤立奇点 5. 1 解析函数的 Laurent 展式...
  • ElasticSearch 搜索引擎入门到实战 18-- query_string查询
  • linux删除del后缀文件,Linux_dos 文件删除 del命令,del命令的用法很简单,使用 de - phpStudy...
  • 在线教程
  • String,StringBuffer与StringBuilder的理解
  • emacs自动补全插件auto-complet和yasnippet,安装、配置和扩展
  • linux命令chcon,selinux --chcon命令
  • ElasticSearch 搜索引擎入门到实战 19-- 索引别名的使用
  • 004.CleanUp方法