2012-05-20 2 views
1

У меня есть страница JSF 1.1, в которой у меня есть <h:selectOneListbox. Когда я устанавливаю свойство disabled = true, выбранное значение в <h:selectOneListbox становится равным нулю при отправке страницы.<h: selectOneListbox disabled = true, вызывающий NullPointerException

<h:selectOneListbox size="1" id="prod" disabled="#{mybean.disable}" 

Как я могу убедиться, что выбранное значение не равно null, даже если для свойства установлено значение disabled = true.

Благодаря

+0

Почему вы отключите этот список? если вы не хотите, чтобы вы выбрали что-нибудь, почему вы держите это в своем коде? –

+0

Я отключаю список, потому что когда пользователь нажимает кнопку подтверждения, ему не разрешается что-либо менять на странице, и поэтому я отключу список вместе с другими компонентами на странице. – user75ponic

ответ

5

Когда атрибут disabled установлен на HTML элемент ввода, то это не только неизменяемое, но это также не отправить его пару имя = значение в качестве параметра запроса к серверу. Это объясняет, почему сервер извлекает для них null.

Если вы хотите сделать его неотредактированным, но все же хотите отправить его имя = значение в качестве параметра запроса на сервер, то вместо этого вы должны использовать readonly.

<h:someInput ... readonly="true"> 
+0

Спасибо за ответ. Это сработало. – user75ponic