代码之家  ›  专栏  ›  技术社区  ›  Warrior

值和项目值之间的差异

  •  9
  • Warrior  · 技术社区  · 16 年前

    Jsf中radiobutton的value和itemValue属性之间有什么区别?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Chris Dale    15 年前

    该值用于发送SelectItem对象,而不是类似itemValue的字符串。itemValue是items值,作为请求参数传递给服务器,但该值是指向SelectItem实例的值绑定表达式。

    如果您看看这个JSF:

     <h:selectOneRadio value="">
        <f:selectItem itemValue="TestValue" itemLabel="TestLabel" />
    </h:selectOneRadio>
    

    将转换为以下HTML:

    <table>
        <tr>
        <td>
            <input type="radio" name="j_id_id9" id="j_id_id9:0" value="TestValue" />
            <label for="j_id_id9:0"> TestLabel</label>
        </td>
        </tr>
    </table>
    

    编辑:

     <h:selectOneRadio value="">
        <f:selectItem itemValue="TestValue" itemLabel="TestLabel" value="#{TestBean.mySelect}"/>
    </h:selectOneRadio>   
    

    它将调用TestBean中的getMySelectItem()方法。正如您所见,这与itemValue无关,因为itemValue负责设置用户提交表单时请求中的内容的值。然后,itemValue将存储在h:selectOneRadio的值中,希望您已绑定到如下字符串字段:

    <h:selectOneRadio value="#{TestBean.selectedRadioValue}">
    <f:selectItem itemValue="1" itemLabel="1. radio one" />
    <f:selectItem itemValue="2" itemLabel="2. radio two" />
    </h:selectOneRadio>
    

    值“1”将存储在TestBean的变量selectedRadioValue中

        2
  •  0
  •   VonC    11 年前

    从这篇IBM文章 Adding row selection to a JSF datatable using radio buttons :

    这个

    attributeid

    项目价值 ,并将绑定到项目值字段

    Item Value