struts2移除标签button的id传统的价值观念问题

时间:2023-03-09 07:03:10
struts2移除标签button的id传统的价值观念问题
<!--显示数据列表-->
<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);