Как передать некоторый идентификатор h: inputText компоненту в действии - PullRequest
1 голос
/ 30 августа 2011

Я использую JSF 2.0 с GF3.1

У меня много h: inputTexts на моей странице, и я хочу отформатировать их размер в некоторых условиях в зависимости от их идентификатора.

Мой метод bean:

  public String doSize(Object obj) {
    if (obj.equals(...)) 
        return "5";
    else
        return "10";
  }

И моя страница JSF:

....
<h:inputText id="some1" value="#{myBean.values['1']}" 
   size="{myBean.doSize(this)}" />
.... (another inputTexts) ....

Я всегда получаю нулевое значение, передаваемое бобу.Есть ли способ передать что-то, что идеализирует мой inputText?Или какой-либо способ установить размер на другом этапе?Где?

1 Ответ

2 голосов
/ 30 августа 2011

Используйте #{component}.Это относится к текущему UIComponent, который в данном конкретном случае относится к подтипу UIInput.

<h:inputText id="some1" value="#{myBean.values['1']}" 
    size="#{myBean.doSize(component)}" />

Вы можете даже явно передать идентификатор, которыйполучено из UIComponent#getId():

<h:inputText id="some1" value="#{myBean.values['1']}" 
    size="#{myBean.doSize(component.id)}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...