ToDoTasks: 使用DWR向Java添加AJAX(1)(2)
我们以早前配置Adder同样的方式配置TaskSessions DWR 访问,在服务器上浏览器会话开始时创建,所以我们拥有的dwr.xml是这样的:
TasksSession方法接收或返回Task对象, 而这些将依次包含Priority的枚举值,为了让DWR转换这些,我们需要首先告知它以允许转化,然后说明它们如何进行转换,在dwr.xml中,在
|
有两个属性converter和match。converter属性说明了使用哪个转换过程,'bean'值意味着使用通用的Java Bean转换器,'enum'值给定了一个专用的枚举转换器。match属性说明了哪个类名称应当在转换中配对使用。DWR在默认情况下将转换器与基本类型(int、boolean等等)注册,还有它们基于类的版本(Integer、Boolean等等),以及字符串、日期,上述这些的数组,还有DOM对象。您只需要在这个集合之外指定类的转换器。
SortOrder类定义了一个内部枚举:TaskField; 所以我们为SortOrder指定一个bean转换器,我们需要为TaskField添加一个枚举转换器,注意匹配值中的$。
为了进行数据访问,我们在HTML页面(dwrfrontend.html)中需要进行定义的是:
我们不需要为转换器做所有的事情,它们将会被自动调用。
我们的HTML页面包含一个表格和一个表单,表格本身没有任何数据行,表单上也没有提交按钮,当页面载入时,我们要做的第一件事情就是在init函数中清除该表单,使用DWR的工具函数之一的setValues:
|
DWRUtil.setValues获取传递给它的关联的数组,对于位于HTML元素中的每一个键/值对都拥有与键相同的id,并将其内容设定为值,对值进行批量设定是一个便捷的方法,如果您观察页面中的

