【问题标题】:How to read the value of the radio button如何读取单选按钮的值
【发布时间】:2010-02-18 07:38:25
【问题描述】:

我想阅读表单提交时选择的角色信息(从角色列表中为用户选择角色)。如何在我的 EntityHome 界面中读取选定的单选按钮值(注意:我不想在这里使用 h:selectOneRadio 选项)

                                <tr>
                                    <s:div rendered="#{userHome.instance.type ne 'admin'}">
                                        <th width="150" class="rich-table-subheadercell center">#{_user.getName()}</th>
                                    </s:div>


                                    <c:forEach items="#{userHome.instance.roles}" var="_role">
                                        <td width="150" class="center" style="background: rgb(100, 100, 100) none repeat scroll 0% 0%;">
                                            #{_role.name}
                                            <input type="radio" style="display : none" name="#{userHome.instance.id}" value="#{_role.id}"/>
                                        </td>
                                    </c:forEach>
                                </tr>

【问题讨论】:

  • 这不会无缝运行。请详细说明为什么您不想使用h:selectOneRadio(或任何其他JSF 组件)。它如何不足以满足您的要求?如果您详细说明不足功能要求,我们或许能够提供正确的解决方案/变通方法。

标签: jsf seam richfaces


【解决方案1】:

两个厘米。

首先。尽可能使用 JSF 组件。

其次。避免使用 JSTL 标签。如果您不必使用它,请删除 c:forEach。将其替换为ui:repeath:dataTable 等。

如果您不能直接使用h:selectOneRadio,现在回答您的问题以寻求解决方法

您需要做的是在 Seam 中使用 @WebRemote,然后使用 javascript 在表单提交时,通过 Ajax 在您的 UserHome 组件中设置值。

查看Seam 文档中的5. Remoting 章节,了解有关如何使用Remoting 的更多信息。

【讨论】:

    【解决方案2】:

    您需要将值/列表指向 SelectItem 的 ArrayList,那里将存储您选择的项目。

    【讨论】:

    • 你检查代码并阅读问题了吗?如果没有h:selectOneRadio,你会怎么做?
    • 我只是指出他需要使用一个List来存储选择的值。
    • 这完全是错误的。 OP 想要一个值,因此您应该将值指向RoleString 而不是List,正如您在此处暗示的那样。如果有一个复选框,那么List 将是正确的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 2013-03-28
    相关资源
    最近更新 更多