首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

高分求解:<s:iterator>传参有关问题?(回贴可得分)

2012-04-07 
高分求解:s:iterator传参问题?(回贴可得分)jsp页面代码改成如下:用什么方法既可以获得所选择机构名称,又

高分求解:<s:iterator>传参问题?(回贴可得分)
jsp页面代码改成如下:用什么方法既可以获得所选择机构名称,又能将其对应的username返回到action中,下面代码可以取得机构名称值,但没有办法得到相应的useranme值,谁有好的办法解决这个问题:
 <s:form name="userjgxx" action="jgxxuserAction">
  <tbody>
 <s:iterator value="users">  
<tr>
<td><s:text name="用户名称"/></td> 
<td><s:property value="username"/></td>  
  </tr>  
   
  <tr>  
  <td><s:checkboxlist name="userjgmc" list="userYwlb" listValue="jgmc" listKey="jgmc" label="请选择:"/><br></td>  
  </tr>  
 
  <!-- <tr>
  <td><a href='<s:url action="jgxxuserAction.action"><s:param name="username" value="username"/></s:url>'>确定</a></td>
  </tr> --> //这句可以获得当前用户。这句该如何处理,才能通过submit传递username参数
   
  <tr>
  <td><s:submit value="确定" ></s:submit></td>
  </tr>
  </s:iterator>  
  </tbody>

  </s:form>

[解决办法]
写个<inpuut name="usename" value="usename" type="hiddern"/>
[解决办法]
<inpuut name="usename" value="<s:property value=’username‘/>" type="hiddern"/>这个试试
[解决办法]
单纯的通过s:标签很难得到你想要的需求,
或许可以考虑一下通过javascript动态修改一下表单元素然后再提交.
[解决办法]
你说这里取到了当前用户 ,
 <td><a href='<s:url action="jgxxuserAction.action"><s:param name="username" value="username"/></s:url>'>确定</a></td>
</tr> --> //这句可以获得当前用户。这句该如何处理,才能通过submit传递username参数
又说 但是个集合值,是将所有用户都取上了,
我搞不懂。。
我想要得是一个用户和这个用户所选择的机构名称的值 ,标红的用户是不是标绿的用户。

机构 的复选框的id='jg'+i; 遍历用户集, 放在隐藏域里,隐藏域的id='name'+i,两个对应。
比如选择了 id为jg3的机构,那你就取name3这个值。

[解决办法]
<s:checkboxlist name="<s:property value="username"/>" list="userYwlb" listValue="jgmc" listKey="jgmc" label="请选择:"/> 这样行么 把每个checkboxlist 的name 直接赋为 username 然后就可以把username和选择对应起来了不知道行不行得通
[解决办法]
我最近也在学这个,头痛死了...
[解决办法]
可以把你的users属性在request范围内共享一下,然后在你的Action页面里面将username一个一个的取出来和多项框的值对应起来
[解决办法]
你的users的值是从哪儿传到jsp页面的
[解决办法]
<s:iterator id="list" value="#request.users">
<s:property value="#list.username"/> 
</s:iterator>
[解决办法]
可以测试一下
[解决办法]
围观
[解决办法]
在你为users赋值的那个Action 用ActionContext.getContext().getSession().put("users",users);将users共享为session 范围内的 然后在你取值的Action中 用
HttpServletRequest request = ServletActionContext.getRequest();


HttpSession session = request.getSession();
List <String>users = (List<String>) session.getAttribute("users");获取users对象
然后 for (int i=0; i<users.size();i++){
System.out.println("username"+users.get(i)); 
}
可得到所有的用户名
[解决办法]

探讨

引用:
在你为users赋值的那个Action 用ActionContext.getContext().getSession().put("users",users);将users共享为session 范围内的 然后在你取值的Action中 用
HttpServletRequest request = ServletActionContext.getR……

[解决办法]
看得一头雾水
[解决办法]
<s:iterator value="#users">
<tr>
<td>${username }</td>
</tr>
</s:iterator>
这样取就可以了,前提是要保证你的users里面有 username这个字段,否则的话是取不到的;
你可也参考下我以前的代码, 下面的
<s:iterator value="#pageResult.list">
<tr>
<td>${name }</td>
<td>${sn }</td>
<td>${type.name }</td>
<td>${source.name }</td>
<td>${trade.name }</td>
<td>${seller.trueName }</td>
<td>${tel }</td>
<td>${email }</td>
<td>${address }</td>
<td>
<a href="client_edit?id=${id }">修改</a>
<a href="client_delete?id=${id }" onclick="return confirm('是否删除')">删除</a>
</td>
</tr>
</s:iterator>
[解决办法]
做个隐藏域
写段js,取当前选择的机构对应的用户名放到隐藏域中
提交
[解决办法]
利用隐藏按钮
[解决办法]
既然是循环的话 那么你的每个username的标识就应该不一样、可以用过id来区别、
例如:<input type="text" id="username_${id}" name="username_${id}"/> 
总之${id}是变化的、至于怎么用标签表示应该是同样的道理
[解决办法]
探讨

引用:
你说这里取到了当前用户 ,
<td><a href='<s:url action="jgxxuserAction.action"><s:param name="username" value="username"/></s:url>'>确定</a></td>
</tr> --> //这句可以获得当前用户。这句该如何处理,才能通过submit……

[解决办法]
你点击checkbok是的事件,可以传你username作为你的参数,然后用dom编程把这的参数放进一个隐藏域中,提交时就可以用了!!

热点排行