栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

值和项目值之间的差异

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

值和项目值之间的差异

该值用于发送SelectItem对象,而不是类似于itemValue的字符串。itemValue是项值,它作为请求参数传递到服务器,但是该值是指向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>

因此,value = valueBinding指向托管bean中的SelectItem,而itemValue
=正在提交的值。如果您决定添加一个值=“#{TestBean.mySelectItem}”,则它不会以任何方式更改输出的HTML,但是JSF实现会知道应在此上使用mySelectItem字段的getter属性。

编辑:
为了澄清答案多一点。SelectItem的value属性通过getter和setter属性将SelectItem绑定到托管bean中的SelectItem字段。如果您这样设置值:

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

它将在TestBean中调用getMySelectItem()方法。如您所见,这与itemValue无关,因为itemValue可用于设置用户提交表单时请求中的值。然后,itemValue将存储在h:selectOneRadio的值中,希望您已将其绑定到一个String字段,如下所示:

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

现在,如果用户检查看起来像他的无线电:“ 1. radio one ”值“
1”将存储在TestBean的名为selectedRadioValue的变量中



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635926.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号