<!--显示数据列表--> <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);
原文地址:http://blog.csdn.net/fangchao3652/article/details/24717235