我用ssh2写了一个小的问题调查,但是不知道如何把添加的问题的选项(items)输出到页面上,供客户端提交调查结果,咨询了一个老师,他给了一段代码如下,通过定义问题question的一个action,这个action定义了问题相应的属性(id name type items),返回到这个jsp页面,可以实现,但是感觉不大懂, 不明了,有2个问题请教:
1、红色字体标示部分;<s:property value="#st.count" />从那来的,我的question中没有定义这个属性啊,标签<s:iterator value="items" status="st">自身有个count属性?他用来返回items的个数? 可是感觉删除他也好像没大影响
<body>
<form action="poll.action"  method="post">
 <input type="hidden" name="questionId" value="<s:property value='id'/>">
   <table cellpadding="3" cellspacing="1" border="0" align="center" class="table" width="60%">
<tr class="td2">
<td align="center">Items</td>
<td align="left" colspan="2" class="td2">
 <s:if test="type == 1">
<table>
<s:iterator value="items" status="st">
<tr>
<td>&nbsp;&nbsp;<s:property value="#st.count" />&nbsp;&nbsp;
<input type="radio" name="items" value="<s:property value='id' />" id="<s:property value='id' />">&nbsp;&nbsp;&nbsp;&nbsp;
<s:property value="name" /></td>
</tr>
</s:iterator>
<tr>
<td align="right">
<s:submit theme="simple" value=" Submit "></s:submit>
</td>
</tr>
</table>
</s:if> 
  <s:else>
<table>
<s:iterator value="items"status="st">
<tr>
<td>&nbsp;&nbsp;<s:property value="#st.count" />&nbsp;&nbsp;
<input type="checkbox" name="items" value="<s:property value='id' />" id="<s:property value='id' />">&nbsp;&nbsp;&nbsp;&nbsp;
<s:property value="name" /></td>
</tr>
</s:iterator>
<tr>
<td align="right"><s:submit theme="simple" value=" Submit "></s:submit>
</td>
</tr>
</table>
</s:else>
</td>
</tr>
</table>
</form>
</body>
</html>
2、有没有其他方法,原来做单张user表更新时,我一般都是通过action返回user对象,然后在页面通过如下方法获得属性值,这种方法我理解起来很简单,他可以用于输出如上所说的一对多,多方的属性吗?如果能,怎么输出,请给个详细的代码说明,谢谢
<s:form action="updateUser.action" value="#request" id="user"><s:hidden name="user.id" value="%{user.id}" ></s:hidden>
<s:textfield  name="user.firstname" value="%{user.firstname}"></s:textfield>
<s:textfield name="user.lastname" value="%{user.lastname}"></s:textfield>
<s:textfield name="user.age" value="%{user.age}"></s:textfield><s:submit value="submit"></s:submit></s:form>

解决方案 »

  1.   

    怎么没人  着急,我描述一下我的问题,我通过action获得了一个questin对象,他其中的一个属性是items对象集合,请问我如何在页面端输出这个每个items的属性啊,若是使用 <s:iterator>,他的value值如何写呢
      

  2.   


    <s:iterator value="items" status="st">
    status属性为你页面遍历或者是单独取集合中的某一个元素提供支持。
    2
    <s:iterator value = "questin.items" id = "id">
                            <s:property value = "#id.itemsId"/>
    <s:property value = "#id.itemsName"/>
            </s:iterator>
    网上有关于iterator标签的用法的,以后遇到这样的问题先去百度一下吧,比在这问效果好!
      

  3.   

    看着你的代码没有别的感觉就是一个字乱。 我一般用xdoc写一对多。
      

  4.   

    你去googele 找下iterator的用法 就知道了
      

  5.   

    谢谢 我是初学,从网上搜索了好一阵,但是老是 value的写法不对,输出不了
    最后尝试了好多次才总结出规律
    楼上的<s:iterator value = "questin.items" id = "id"> 
                            <s:property value = "#id.itemsId"/> 
    <s:property value = "#id.itemsName"/> 
            </s:iterator> 
    好像应该是value=“id”吧 ,加上就输出不了