Разница между ценностью и ценностью предмета

В чем разница между значением и атрибутом itemValue радиокнопки в Jsf?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
10
0
11 765
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Из этой статьи IBM Добавление выбора строки в таблицу данных JSF с помощью переключателей:

идентификатор атрибута предназначен для значения компонента группы переключателей. Он будет привязан к полю Value

attributeid

Атрибут selectedRowId предназначен для стоимость предмета переключателя и будет привязан к полю значения элемента.

Item Value

Эти изображения защищены авторским правом и не должны использоваться без разрешения.

jmanning2k 25.08.2009 18:33
Ответ принят как подходящий

Значение предназначено для отправки в объекте SelectItem, а не в String, например 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 указывает на SelectItem в вашем управляемом компоненте, а itemValue = значение, которое отправляется. Если вы решили добавить значение = "# {TestBean.mySelectItem}", это никоим образом не изменит выводимый HTML, но реализация JSF будет знать, что для этого следует использовать свойство getter для поля mySelectItem.

Редактировать: Чтобы уточнить ответ немного подробнее. Свойство value объекта SelectItem связывает SelectItem с полем SelectItem в управляемом компоненте через свойства получения и установки. Если вы установите такое значение:

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

он вызовет метод getMySelectItem () в TestBean. Как видите, это не имеет ничего общего с 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. радио один», значение «1» будет сохранено в переменной TestBean с именем selectedRadioValue.

Я думаю, что у вас есть лучший (оригинальный) ответ здесь, но я прочитал это первое предложение 4 раза, и все еще не могу его понять. Уточнить?

jmanning2k 25.08.2009 18:35

Я согласен с Джоном (в части ответа «лучше»). +1

VonC 25.08.2009 19:23

Я добавил больше информации сейчас =) Надеюсь, это прояснит ситуацию

Chris Dale 25.08.2009 19:53

Другие вопросы по теме