我正在学习带有 HTML5 友好标记的 JSF。我想在文本字段中接收一个数字:
<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>
后端bean:
@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
项目 bean:公共类项目 {
private String nombre;
private Integer edad;
public Item(){
this.nombre="";
this.edad=0;
}
//Setters and getters
此代码导致java.lang.Integer 无法转换为 java.lang.String。
用 h:inputText 替换输入文本有效:
<h:inputText id="edad" value="#{backend.item.edad}"/>
在这种情况下,我是否必须放弃 HTML5 友好标记?
该应用程序在 GF4 Full 配置文件中运行。