2010-09-30 3 views
2

У меня есть страница JSF, которая имеет компонент h:inputHidden, и я устанавливаю твердое значение. Я установил атрибуты id, name и value. Но когда я получаю доступ к значению из управляемого компонента, я получаю null.Как читать значение из h: inputHidden в управляемом компоненте

Я также заметил, что во время выполнения имя изменяется на какой-либо автоматически сгенерированный идентификатор.

Цените любую помощь.

ответ

5

Поведение <h:inputHidden> такое же, как для <h:inputText> компонента, например:

<h:inputHidden id="myHiddenField" value="#{myBean.myValue}"/> 

будет относиться к свойству myValue боба myBean. Таким образом, вы должны будете предоставить getMyValue() и setMyValue(String) в этом компоненте.

Итак, если вы измените значение этого скрытого поля на стороне клиента (используя Javascript), то новое значение будет обновляться со стороны компонента после отправки формы.

Что касается идентификатора, вы должны указать атрибут id, в противном случае JSF сгенерирует его для вас (например, j_id123). Если вы укажете значение для этого атрибута, идентификатор тега HTML будет тем же, который вы указали, с префиксом вашего идентификатора формы. Таким образом, в следующем примере:

<h:form id="myForm"> 
    <h:inputHidden id="myField" .../> 

HTML-<input> тег будет иметь идентификатор myForm:myField (обратите внимание на :, используемый в качестве разделителя идентификаторов).

0

Вы можете использовать это:

@ManagedBean(name="myBean") 
@SessionScoped 
public class MyBean implements Serializable { 

    String myValue= "I'm Hidden value!"; 

    public String getMyValue() { 
     return myValue; 
    } 

    public void setMyValue(String myValue) { 
     this.myValue = myValue; 
    } 

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