先贴代码<form action="AddSub" method="post">
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<th class="h" style="width: 100%" colspan="4">
订阅名称<input type="text" name="sub.subname"/>
</th>
</tr>
<!-- 表 头 -->
<tr class="tr2">
<td style="width: 20%" align="center">
属性名称
</td>
<td style="width: 20%" align="center">
谓词
</td>
<td style="width: 20%" align="center">
属性值
</td>
<td style="width: 20%" align="center"> </td>
</tr>
<tr class="tr3">
<td><input name="subitems[0].attribute" value="卫星"/></td>
<td><input name="subitems[0].predicate" value="="/></td>
<td ><input name="subitems[0].value" /></td>
<td align="center"> </td>
</tr>
<tr class="tr3">
<td><input name="subitems[1].attribute" value="纬度"/></td>
<td><input name="subitems[1].predicate" value=">"/></td>
<td ><input type="text" name="subitems[1].value"/></td>
<td align="center"></td>
</tr>
<tr class="tr3">
<td><input name="subitems[2].attribute" value="纬度"/></td>
<td><input name="subitems[2].predicate" value="<"/></td>
<td ><input type="text" name="subitems[2].value"/></td>
<td align="center"></td>
</tr>
<tr class="tr3">
<td><input name="subitems[3].attribute" value="纬度"/></td>
<td><input name="subitems[3].predicate" value=">"/></td>
<td ><input type="text" name="subitems[3].value"/></td>
<td align="center"></td>
</tr>
<tr class="tr3">
<td><input name="subitems[4].attribute" value="经度"/></td>
<td><input name="subitems[4].predicate" value=">"/></td>
<td ><input type="text" name="subitems[4].value"/></td>
<td align="center"> </td>
</tr>
<tr class="tr3">
<td><input name="subitems[5].attribute" value="经度"/></td>
<td><input name="subitems[5].predicate" value="<"/></td>
<td ><input type="text" name="subitems[5].value"/></td>
<td align="center"></td>
</tr>
<tr>
<td><input type="submit" value="添加"/></td>
</tr>
</table>
</form>
代码如上,每一行提交的是一个对象,每一行的每个单元提交这个对象的一个属性,如何用struts2中的iterator标签实现,这样我就不用写那么多<tr>和<td>了。
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<th class="h" style="width: 100%" colspan="4">
订阅名称<input type="text" name="sub.subname"/>
</th>
</tr>
<!-- 表 头 -->
<tr class="tr2">
<td style="width: 20%" align="center">
属性名称
</td>
<td style="width: 20%" align="center">
谓词
</td>
<td style="width: 20%" align="center">
属性值
</td>
<td style="width: 20%" align="center"> </td>
</tr>
<tr class="tr3">
<td><input name="subitems[0].attribute" value="卫星"/></td>
<td><input name="subitems[0].predicate" value="="/></td>
<td ><input name="subitems[0].value" /></td>
<td align="center"> </td>
</tr>
<tr class="tr3">
<td><input name="subitems[1].attribute" value="纬度"/></td>
<td><input name="subitems[1].predicate" value=">"/></td>
<td ><input type="text" name="subitems[1].value"/></td>
<td align="center"></td>
</tr>
<tr class="tr3">
<td><input name="subitems[2].attribute" value="纬度"/></td>
<td><input name="subitems[2].predicate" value="<"/></td>
<td ><input type="text" name="subitems[2].value"/></td>
<td align="center"></td>
</tr>
<tr class="tr3">
<td><input name="subitems[3].attribute" value="纬度"/></td>
<td><input name="subitems[3].predicate" value=">"/></td>
<td ><input type="text" name="subitems[3].value"/></td>
<td align="center"></td>
</tr>
<tr class="tr3">
<td><input name="subitems[4].attribute" value="经度"/></td>
<td><input name="subitems[4].predicate" value=">"/></td>
<td ><input type="text" name="subitems[4].value"/></td>
<td align="center"> </td>
</tr>
<tr class="tr3">
<td><input name="subitems[5].attribute" value="经度"/></td>
<td><input name="subitems[5].predicate" value="<"/></td>
<td ><input type="text" name="subitems[5].value"/></td>
<td align="center"></td>
</tr>
<tr>
<td><input type="submit" value="添加"/></td>
</tr>
</table>
</form>
代码如上,每一行提交的是一个对象,每一行的每个单元提交这个对象的一个属性,如何用struts2中的iterator标签实现,这样我就不用写那么多<tr>和<td>了。
解决方案 »
- <c:if>的应用问题。我承认我笨。哎
- struts2 xml中 执行一个action里的多个action方法?
- jsp页面如何向Action中传一个集合?
- 关于java socket的问题
- 各位大哥大姐帮忙,在哪可以下载flex电子书
- 求助:servlet如何调用JAVA应用程序
- ssh框架 中 session保存的对象 因转发被莫名更改
- jtable 里面加图标
- 您在用J2EE开发企业管理系统吗?(顺带个好消息:Chinahelp.net上可申请免费50M邮箱)
- Weblogic问题
- 请问Ajax框架中用得最多的是哪个?各自用在项目哪些地方比较多?
- 使用jdbc出现一个神奇的问题,PreparedStatement的setString()没用了!!!
<s:iterator value="list" id="a">
<tr class="tr2">
<td style="width: 20%" align="center">
<s:property value='a.属性名称'/>
</td>
<td style="width: 20%" align="center">
<s:property value='a.谓词'/>
</td>
<td style="width: 20%" align="center">
<s:property value='a.属性值'/>
</td>
<td style="width: 20%" align="center"> </td>
</tr>
</s:iterator>
<tr class="tr3">
<td><input name="subitems[0].attribute" value=<property value="#result.??"/>/></td>
<td><input name="subitems[0].predicate" value="="/></td>
<td ><input name="subitems[0].value" /></td>
<td align="center"> </td>
</tr>
</s:iterator>如红色 那样 替换就OK乐
试过这样做,但是这样写的话页面上没有输入框,因为一开始list是空的?
AddSub-conversion.properties内容
Element_xxxList=bean
(bean为list中对象的完整名称)此文件放AddSub.java同一目录下
list在我的action里已经定义好了,action执行的时候list被放在valuestack里可以直接用,现在问题在于如何迭代,既把各个输入框显示出来,又让各个输入框与相应的属性对应起来。
<s:form action="update" method="post" >
<s:iterator value="peopleList" status="stat">
<s:hidden
name="peopleList[%{#stat.index}].id"
value="%{peopleList[#stat.index].id}"/>
<s:textfield label="Name"
name="peopleList[%{#stat.index}].name"
value="%{peopleList[#stat.index].name}"/>
<s:textfield label="Age"
name="peopleList[%{#stat.index}].age"
value="%{peopleList[#stat.index].age}" />
<s:textfield label="Height"
name="peopleList[%{#stat.index}].height"
value="%{peopleList[#stat.index].height}"/>
<br/>
s:iterator>
<s:submit value="Update"/>
s:form> 我在网上搜索找到了上面的一段代码,但是用这种方法页面上是不现实输入框的,这个该怎么改呢
你换成普通的html标签试试,也就是<input type="text" />这种。name和value取迭代列表元素的属性值。