0
結合內部HashMap中的字段時,我有一個請求範圍的CDI管理的bean(還與JSF託管bean,但同樣的問題試過!):空值使用JSF
@Named
@RequestScoped
public class myController{
private HashMap<String, MyModel> modelMap;
@PostConstruct
private void init() {
logModelMap = new HashMap<String, MyModel>();
logModelMap.put("CONSTANT_1", new MyModel());
logModelMap.put("CONSTANT_2", new MyModel());
logModelMap.put("CONSTANT_4", new MyModel());
}
public HashMap getModelMap() {
return logModelMap;
}
}
而且爲MyModel類,這是一個簡單的POJO :
public class MyModel{
private String type = "";
private Date date;
//constructor, getter and setter methods
}
我已經寫了使用JSF和綁定字段,以TextBox和日曆組合大組成部分,我想訪問內部HashMap的領域和設置一些值:
#{myController.modelMap['CONSTANST_1'].type}
#{myController.modelMap['CONSTANST_1'].date}
#{myController.modelMap['CONSTANST_2'].type}
#{myController.modelMap['CONSTANST_2'].date}
#{myController.modelMap['CONSTANST_3'].type}
#{myController.modelMap['CONSTANST_3'].date}
但constant_1的前兩行有效,其他兩個常量的類型和日期都是null! 我在firebug中看到值正確地發送到服務器,但地圖內的字段沒有設置! 順便說一句,我用ajax的primefaces命令按鈕發送數據到服務器。