Spring MVC List在前后台的传递



  昨天在编码时遇到了一个问题,有一个表单里有String类型和List类型的数据需要显示和更新,使用form来实现。对于String类型还好,但是到获取List类型的数据时就获取不到了。最后在找了一天资料后,终于找到一个解决办法:在实体类中加一个属性,而这个属性的GETTER方法返回的是list的json格式StrIng数据,在前台的js中取这个属性就解决了。

    实体类

public List<Evaluate> getEvaluateList() {
		return evaluateList;
		/*return JsonUtil.list2json(evaluateList);*/
		
	}

	public void setEvaluateList(List<Evaluate> evaluateList) {
		this.evaluateList = evaluateList;
	}

	public String getEvaluateListStr() {
	return JsonUtil.list2json(evaluateList);
	}

	public void setEvaluateListStr(String evaluateListStr) {
		this.evaluateListStr = evaluateListStr;
	}
  

     前台

<script type="text/template" id="evaluateTpl">//<!--
						<tr id="evaluateList{{idx}}">
							<td> 
                            <input id="evaluateList{{idx}}_caseid" name="evaluateList[{{idx}}].caseid" type="hidden" value="{{row.caseid}}" maxlength="768"/>
                            <input id="evaluateList{{idx}}_levelName" name="evaluateList[{{idx}}].levelName" type="hidden" value="{{row.levelName}}" maxlength="768"/>
							<input id="evaluateList{{idx}}_levelTrueName" name="" readonly="true" value="{{row.levelTrueName}}" maxlength="768"/>
							<input id="evaluateList{{idx}}_evaluate" class="easyui-combobox" name="evaluateList[{{idx}}].evaluate" style="width:200px"
                                		 data-options="required:true,valueField:'typeId', textField:'typeName',panelHeight:'auto'" value="{{row.evaluate}}" maxlength="768"/>
							</td>
						</tr>//-->
					</script>
					<script type="text/javascript">
						var RowIdx = 0, evaluateTpl = $("#evaluateTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
						$(document).ready(function() {
							var data = $<em><strong><span style="color:#ff0000;">{caseEntity.evaluateListStr}</span></strong></em>;
							for (var i=0; i<data.length; i++){
								addRow('#evaluateList', RowIdx, evaluateTpl, data[i]);
								RowIdx = RowIdx + 1;
							}
						});
					</script>
  而且这样可以在表单提交时也能够提交list的数据:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值