C:foreach嵌套radio单选框的问题

来源:百度知道 编辑:UC知道 时间:2024/06/13 21:03:18
<c:forEach var="e" varStatus="s" items="${authRelationTblItems}">
<tr>
<td>${f:h(e.repositoryTbl.repoName)} </td>
<td><html:radioproperty="authFlg" value="0" /></td>
<td><html:radio property="authFlg" value="1" /></td>
<td><html:radio property="authFlg" value="3" /></td>
<td><html:radio property="authFlg" value="9" /></td>
</tr>
</c:forEach>
要求显示几组单选框,现在的问题的循环出来的radio的名字都一样的,所以几组单选框N个按钮只能选一个。
而且这个authFlg里面的值取不到,应该是每循环一次authFlg里的值不一样,形成一个每一行有一个单选按钮被选上的情况。
如能给出正确方法再加100分。
<td><html:radio property="authFlg${e.id}" value="${e.value}" /></td>

这样写调试出错。。而且这样写的话authRelationTblitems.authFlg里面的值得不到。无法读出哪个数据被选中了。

<c:forEach var="e" varStatus="s" items="${authRelationTblItems}">
<tr>
<!-- 下面这行写错了吧!是什么意思??? -->
<td>${f:h(e.repositoryTbl.repoName)} </td>
用这样的方法来试一试:(id和value是你的e对象里面的数据)
<td><html:radio property="authFlg${e.id}" value="${e.value}" /></td>
</tr>
</c:forEach>

题目表达得不是很清楚,只能这样回答你了。

LZ你好,这种问题是你的 集合有问题
你循环的时候,当你使用 html标签的时候
很显然,对应的 property="authFlg" 这个值 是在formbean里进行配置
所以 如果你想名字不一样,必须 在formbean里多配置 几个 如 authFlg1,authFlg2等 这样才能达到你说的那样,可是这似乎不是你的本意

另外 你不用 单选框,用复选框怎么样呢?这样就好解决了

ps:问题描述的不是很清晰,希望对你能有启发。
上面 几个写的 应该会报错,因为 formbean 里没有对应的 property 名称

可以发消息给我,这个描述清除还是容易解决的

<td>${f:h(e.repositoryTbl.repoName)} </td>

EL表达式是这么写吗??f:h 是什么?

应该这样 ${e.repositoryTbl.repoName}