1. 程式人生 > >使用 HashMap 返回多個引數物件

使用 HashMap 返回多個引數物件

Struts2 中 return 多個引數物件

	

    
    @Action(value="saveMethod",results={
			@Result(name="success",type="json",
					params={
					"root","result"
			})})
	public String saveMethod() throws Exception {
		try {
			List<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();
			HashMap<String,Object> map = new HashMap<String, Object>();
			map.put("keyA", tempA);
			map.put("keyB", tempB);
			map.put("keyC", "儲存成功");
			list.add(map);
			ActionContext.getContext().put("result", list);
		} catch (Exception e) {
			throw new MyException("異常原因: " + e.getMessage() );
		}
		return SUCCESS;
	}

返回結果集: 

頁面取值

​
​$.ajax({
		cache: true,
		type: "POST",
		url: "${pageContext.request.contextPath}/saveMethod",
		data: $('#eidtform').serialize(),
		success: function(data) {
		$.each(data,function(index,item){
			if(item.success == "儲存成功") {
			    $("#ta").textbox('setValue',item.keyA);
				$("#tb").textbox('setValue',item.keyB);
				$("#mainDatagrid").datagrid("reload"); //主介面資料重新載入
				$.messager.alert("提示", item.success, 'info'); //成功的圖示
			} else {
				$.messager.alert("提示", data, 'error');
			}
		});
	}
});

​

​
  • 當頁面需要獲取多個返回值的時候,推薦使用這種方法;
  • 直接拿 ","號分割,以字串傳給頁面,再由頁面拆分也可以,但這樣不靈活;