Jsf中单选按钮的value和itemValue属性之间有什么区别?价值和项目价值之间的差异
回答
该值旨在发送一个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>
所以值=的ValueBinding指着你的托管bean一个SelectItem和项目值=的值正在提交。如果您决定添加一个值=“#{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是用户提交表单时设置请求内容的值的重要工具。然后,项目值将被存储在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.无线电一个“值”1“将被存储在TestBean的变量中,名为selectedRadioValue
从这个IBM文章Adding row selection to a JSF datatable using radio buttons:
的属性ID是单选按钮组的分量值。它将被绑定到值字段
属性selectedRowId是单选按钮的项目值,并且将被绑定到的项目值字段
这些图像是版权的,不应在未经许可的情况下使用。 – jmanning2k 2009-08-25 14:33:59
- 1. 价值和平均值之间的差异(价值)
- 2. 计算天*之间的差价*每日价格=价值PHP
- 3. MYSQL价值差异优化
- 4. Java和C#通过价值差异
- 5. 价值和价值2之间的区别是什么
- 6. 项目价值的Portlet
- 7. 每一行价值之间的差额 - 和错误
- 8. PHP热图 - 巨大的价值差异
- 9. 01价值对总金额的差异
- 10. SQL Server 2005中的价值观差异
- 11. X和Y之间的货币价值?
- 12. 排序阵列上价值差异
- 13. 参数和值之间的SQL差异
- 14. 为什么回报前的价值与回报后的价值有差异?
- 15. 计算最高和最低价格之间的日常差异
- 16. 差异化当地时间的数据价值
- 17. 虽然价值与之前的价值相同,但是我们的价值为
- 18. 什么是价值和参考语义和差异
- 19. UTC时间值之间的差异scala
- 20. SQL选择2值之间的价格
- 21. 的preg_match:文本之间获得价值
- 22. 页面加载和页面刷新的价值差异
- 23. 如何处理与Chrome和Firefox的顶级价值差异?
- 24. 获得一个项目的价值
- 25. RoR的选择,保留项目价值
- 26. 如何获得CheckBoxList的项目价值
- 27. DomNode获得项目的价值
- 28. 发现价值,价值
- 29. 的价值和CSS
- 30. 绑定Knockout值和输入元素的值之间的差异
我认为你在这里有一个更好的(原始)答案,但是我已经读了第四句话,但仍然无法理解它。澄清? – jmanning2k 2009-08-25 14:35:57