概述
这个<s:iterator>标签属于一个迭代器,用于将集合迭代输出,刚开始我把它应用于实战的时候,发现很多疑惑,这在很多网上的文章中都没有提到过,而且大家都是照搬理论知识往自己博客一帖完事,但是真正的实际问题还是不能得到解决,这个标签在用之前,自己先翻了书籍看了struts标签<s:iterator>这章,将基础的理论知识梳理了一遍,然后摸索着去解决掉!
在用之前可能遇到的问题,我可能开发经验有限,所以对这种标签“从无到一”熟练过程中,有过很多疑惑,希望把这些问题写下来给后者的开发人员提供一点帮助!
以下是我当时的疑惑:
1、这个标签在遍历集合的时候,对象被迭代遍历出来,然后供每个字段输出的input标签其中的name属性只有一个名字,也就是每个对象的相同字段name是一样的,那我修改提交后的name属性数据代表的是第一个对象的还是最后一个对象的?
<s:iterator value="bookList" status="st" id="a">
<input type="text" id="bookList" value="<s:property value="bookList"/>" style="display: none">
<s:set name="zz" value="#a.size()"></s:set>
<tr>
<td rowspan="<s:property value="#zz"/>"><s:property value="#a.name"/></td>
<td rowspan="<s:property value="#zz"/>"><input type="text" name="bookValue" id="bookValue<s:property value="#st.count"/>" value="<s:property value ="#a.bookValue"/>"></td>
<td rowspan="<s:property value="#zz"/>"><input type="text" name="bookPrice" id="bookPrice<s:property value="#st.count"/>" value="<s:property value = "#a.bookPrice"/>"></td>
<td rowspan="<s:property value="#zz"/>"><input type="text" name="bookTitle" id="bookTitle<s:property value="#st.count"/>" value="<s:property value = "#a.bookTitle"/>"></td>
<td rowspan="<s:property value="#zz"/>"><input type="text" name="bookMessage" id="bookMessage<s:property value="#st.count"/>" value="<s:property value = "#a.bookMessage"/>"></td>
<td rowspan="<s:property value="#zz"/>"><input type="text" name="value" id="value<s:property value="#st.count"/>" value="<s:property value = "#a.value"/>"></td>
<td rowspan="<s:property value="#zz"/>" style="display: none"><input type="text" name="bookListId" value="<s:property value = "#a.id"/>"></td>
</tr>
</s:iterator>
从上面代码看的话,我刚开始以为后面的数据会覆盖前面的数据,但是转折点在我测试的时候,仔细看了下报出的错误,里有表示我的bookValue、bookPrice、bookTitle等这些是集合并且后面集合中出现的数据就是我提交的数据,并且提示不能匹配,看到这里我兴奋了,因为问题终于弄明白了,我需要在后台,把每个字段的name属性名以一个集合的形式去getter和setter,如:
private ArrayList bookValue;
private ArrayList bookPrice;
private ArrayList bookTitle;
private ArrayList bookMessage;
private ArrayList value;
之后就是getter和setter。
把数据提交到后台之后就进行数据的修改操作就是了!
最后
以上就是开朗外套为你收集整理的
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复