<!--显示数据列表--> <tbody id="TableData" class="dataContainer" datakey="departmentList"> <s:iterator value="#departmentList"> <tr class="TableDetail1 template"> <td><a href="_list_level2.html">${name}</a> </td> <td>${parent.name} </td> <td>${description} </td> <td><s:a action="department_delete?id=%{id}" onClick="return window.confirm(‘这将删除全部的下级部门,您确定要删除吗?‘)">删除</s:a> <s:a action="department_editUI?id=%{id}">改动</s:a> </td> </tr> </s:iterator> </tbody>
上面的删除与改动都须要通过OGNL表达式为其指定一个id,这个id事实上是在list显示的时候已经通过ognl表达式算好了的,当点击删除时,就会去请求
department_delete? id=xxx
在请求到这个action之前,对象栈中已经存在一个包括id属性的model(当然也有get set方法),如上篇所述,xxx就会赋值给这个model的id属性。在Action里面的删除方法里能够直接 departmentservice.delete(model.getId());
同理在Action_edit方法中:
Department department =departmentservice.findById(model.getId());
ActionContext.getContext().getValueStack().push(department);//将要改动的domain压入到对象栈堆栈的顶部,在jsp页面可以根据属性名相匹配直接显示在相应的标签。
return "saveUI";
当您直接修改:
departmentservice.update(model);
时间: 2024-10-10 23:13:00