struts2在标签中删除按钮的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);

你可能感兴趣的:(struts,ssh,标签)