2013-07-03 2 views
1

Я изучаю JSF с дружественной HTML5 разметкой. Я хочу, чтобы получить номер в текстовом поле:JSF 2.2 HTML5 Friendly Markup для числовых полей

<form jsf:id="form_item"> 
    <label for="nombre">Nombre:</label><input type="text" jsf:id="nombre" value="#{backend.item.nombre}"/> 
    <label for="edad">Edad:</label> <input type="text" jsf:id="edad" value="#{backend.item.edad}"/> 
    <input type="button" jsf:action="#{backend.addItem}" value="Agregar"/>; 
</form> 

Backend боб:

@Named(value = "backend") 
@ViewScoped 
public class Backend implements Serializable{ 

    private Item item; 
    private List<Item> items; 

    /** 
    * Creates a new instance of Backend 
    */ 
    public Backend() { 
     this.items = new ArrayList<>(); 
     this.item = new Item(); 
    } 

    public void addItem(){ 
     this.getItems().add(item); 
    } 

//Setters and getters 

Item боба: общественного класса Пункт {

private String nombre; 
    private Integer edad; 

    public Item(){ 
     this.nombre=""; 
     this.edad=0; 
    } 
//Setters and getters 

Этот код результатов в Явы. lang.Integer нельзя передать в java.lang.String.

Замена входного текста на часе: inputText работа:

<h:inputText id="edad" value="#{backend.item.edad}"/> 

Должен ли я отказаться от HTML5 дружественной разметки в этом случае?

Приложение работает в GF4 Full profile.

ответ

0

я, наконец, смог сделать эту работу, используя

<input type="text" jsf:id="edad" jsf:value="#{backend.item.edad}"/> 

Добавляя JSF: до значения атрибута, все работало, как ожидалось. В учебнике JEE7 говорится, что в «8.9.1 Using Pass-through Elements» «указать хотя бы один из его атрибутов, используя пространство имен http://xmlns.jcp.org/jsf», с примером, показывающим свойство значения без пространства имен. Но похоже, что это работает только в том случае, если свойство bean является строкой.

0

Каждый раз, когда вы хотите, чтобы ваш атрибут был «JSF-ish», вам нужно прикрепить его к пространству имен JSF. Я рад, что ты все-таки нашел ответ!

Ред.

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