2011-01-12 4 views
1

Я пытаюсь проверить флажок inputText на основе выбора CheckBox, как показано ниже. < <h:inputText required="#{param[facesContext.externalContext.response.namespace'form:checkBoxId']}"> >.JSF Compound EL выражение

Проблема такая, как вы видите, идентификаторы компонентов динамические, я должен иметь возможность использовать facesContext.externalContext.response.namespace внутри выражения EL. Есть ли решение для этого, оцените любые предложения.

Спасибо.

ответ

0

Просто привяжите UIComponent к объекту с ограниченным доступом и получите доступ к его методу getValue().

<h:selectBooleanCheckbox binding="#{checkbox}" /> 
<h:inputText required="#{not empty checkbox.value and checkbox.value}" /> 

Что касается динамичности, вы можете также обходить, просто указав фиксированный идентификатор.

<h:form id="form"> 
    <h:selectBooleanCheckbox id="checkbox" /> 
    <h:inputText required="#{not empty param['form:checkbox'] and param['form:checkbox']}" /> 
</h:form> 

Это, однако, только уродливое, когда оно длится.

+0

Спасибо BalusC, первое решение идеально подходит для меня. –

+0

Добро пожаловать. – BalusC

Смежные вопросы