016 修改取派員資料 - bos
一、頁面調整
1.仿造新增彈出的div創建一個修改信息的div窗口
<div region="center" style="overflow:auto;padding:5px;" border="false">
<form id="editStaffForm" action="staffAction_edit.action" method="post">
<input type="hidden" name="id"/>
<table class="table-edit" width="80%" align="center">
<tr class="title">
<td colspan="2">收派員信息</td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="name" class="easyui-validatebox" required="true"/></td>
</tr>
<tr>
<td>手機</td>
<td><input type="text" data-options="validType:‘telephone‘" name="telephone" class="easyui-validatebox" required="true"/></td>
</tr>
<tr>
<td>單位</td>
<td><input type="text" name="station" class="easyui-validatebox" required="true"/></td>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="haspda" value="1" />
是否有PDA</td>
</tr>
<tr>
<td>取派標準</td>
<td>
<input type="text" name="standard" class="easyui-validatebox" required="true"/>
</td>
</tr>
</table>
</form>
</div>
</div>
2.完善彈出框的css風格
// 修改取派員窗口
$(‘#editStaffWindow‘).window({
title: ‘添加取派員‘,
width: 400,
modal: true,
shadow: true,
closed: true,
height: 400,
resizable:false
});
3.完善js代碼
function doDblClickRow(rowIndex, rowData){
//打開修改取派員窗口
$(‘#editStaffWindow‘).window("open");
$(‘#editStaffWindow‘).form("load", rowData);
}
//為保存按鈕添加事件
$("#edit").click(function(){
//表單校驗
var validateRes = $("#editStaffForm").form("validate");
if(validateRes){
//通過則提交表單
$("#editStaffForm").submit();
}
});
二、服務端實現
1.修改信息的建議作法是先根據ID獲取信息,然後設置要修改的屬性,然後再執行更新
2.我思考的做法是:獲取和更新可以在一個Service方法中實現,開啟動態更新列後,這樣可以利用Session的緩存,少更新列,不知是否存在問題
3.編寫StaffAction.edit
/**
* 修改取派員信息
* @return
*/
public String edit(){
//根據id查詢原始數據
Staff staff = staffService.findById(model.getId());
staff.setName(model.getName());
staff.setTelephone(model.getTelephone());
staff.setHaspda(model.getHaspda());
staff.setStandard(model.getStandard());
staff.setStation(model.getStation());
staffService.update(staff);
return LIST;
}
4.編寫StaffService相關
@Override
public Staff findById(String id) {
return staffDao.findById(id);
}
@Override
public void update(Staff staff) {
staffDao.update(staff);
}
016 修改取派員資料 - bos