使用 EasyUI 的 Datagrid 選擇到一筆記錄後,將這一筆完整的資料要送到後端 Java 接收,可以先轉換成 JSON 的格式再後送。
UI 的圖示如下,可以用 FireBug 去查看 JavaScript 裡的資料
作法如下:
HTML 的 Java Script Code:
<div id="tb" style="height:auto"> <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="submitForm()">Submit</a> </div> <script type="text/javascript"> function submitForm(){ $("#fmEmpIDLogin input[name='reqCode']").val("empIdLogin"); var rowData = $('#dg').datagrid('getSelected'); var cellRow = $("<input>").attr("type", "hidden").attr("name", "cellRow").val(JSON.stringify(rowData)); $('#fmEmpIDLogin').append($(cellRow)); $('#fmEmpIDLogin').submit(); } </script> |
Java Code: 利用 String[] cellRow 接收,並用 Gson().fromJson(cellRow[0], Map.class); 作轉換即可
public class LoginAction extends BaseSupport { private String[] cellRow; public String empIdLogin() throws Exception { String loginResult=SUCCESS; Userinfo userInfo = null; logger.debug(cellRow[0]); Map<String,Object> result = new Gson().fromJson(cellRow[0], Map.class); String userEmpID = result.get("empId") == null ? "" : result.get("empId").toString(); return loginResult; } public String[] getCellRow() { return cellRow; } public void setCellRow(String[] cellRow) { this.cellRow = cellRow; } } |
(繼續閱讀...)