Struts2两个Map动态比较值是否相同

需求:后台有两个Map,他们的Key相同,顺序也相同,但是value不同,需要在传入前台后,遍历其中一个Map,获取到当前Map的值,然后根据当前Map的Key获取另一个Map的记录,并用js动态比较他们的不同项,然后用title属性呈现出来。


编码过程:第一步遍历当前Map,代码如下:

                         <s:iterator value="maps"  id="column" status="st">
                              <s:set name="index"><s:property value="#st.index"/></s:set>

                              <%-- Map的key  --%>

                               <td><s:property value="key"/></td>

                               <%-- 品牌名  --%>

                               <td><input type="text"   name="reports[${index}].brand"    value="<s:property value="value.brand"/>"    /></td>

                          </s:iterator>

                          此处属性较多,只列出一个做为显示代表。

                          

                          第二步加上另一个Map的处理方式:

                          <s:iterator value="maps"  id="column" status="st">

                               <s:set name="baseKey"><s:property value="key"/></s:set>

                              <s:set name="index"><s:property value="#st.index"/></s:set>

                              <%-- Map的key  --%>

                               <td><s:property value="key"/></td>

                               <%-- 品牌名  --%>

                               <td><input type="text"   name="reports[${index}].brand"    value="<s:property value="value.brand"/>" base='<s:property value="bases.get(#baseKey).brand"/>'     /></td>

                          </s:iterator>

                          但是这样base的值总是为空,后来通过一步步测试,发现#baseKey和bases.get(#baseKey)都是有值的,

                          但是#baseKey的值不正确,后来经过进一步的测试,改为如下代码就Okey了:

                           <s:iterator value="maps"  id="column" status="st">

                              <s:set name="index"><s:property value="#st.index"/></s:set>

                              <%-- Map的key  --%>

                               <td><s:property value="key"/></td>

                               <%-- 品牌名  --%>

                               <td><input type="text"   name="reports[${index}].brand"    value="<s:property value="value.brand"/>"base='<s:property value="bases.get(key).brand"/>'     /></td>

                          </s:iterator>

                          

                            这样就可获取到两个Map的值,接下来通过jQuery比较他们的不同即可。


 

                               

                          

                       

                      



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值