使用jsf基本常見問題1
1.commandButton不能觸發(fā)其Action,原因是commandButton放到了verbatim中2.不能將InputText的值邦定到實體變量中,原因是設(shè)置了commandButton的immediate為true造成的
3.java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.substringBeforeLast(Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String;是因為commons-lang.jar版本的問題
4.在panelTabbedPane中使用inputdate,無法正常使用,并且導(dǎo)致action無法執(zhí)行,是因為panelTabbedPane與其它控件的兼容性較差
5如何在panelTabbedPane中加Tab Change事件,設(shè)置serverSideTabSwitch="true"并且添加<t:tabChangeListener type="backbean.PlmtManageBean" />PlmtManageBean需要實現(xiàn)TabChangeListener接口
我是將TabChangeListener接口添加在backing bean上的,導(dǎo)致Tab Change事件發(fā)生時該bean老重新create,所以放棄使用
6.bean中獲取另外一個bean中的屬性
FacesContext fc = FacesContext.getCurrentInstance();
String userName = (String)fc.getApplication().createValueBinding("#{Person.userName}").getValue(fc);
this.custId = custId;
FacesContext fc = FacesContext.getCurrentInstance();
BankBean bank = (BankBean) fc.getApplication().createValueBinding("#{bank}").getValue(fc);
The same result you can reach using the Variable Resolver:
FacesContext fc = FacesContext.getCurrentInstance();
BankBean bank = (BankBean) fc.getApplication().getVariableResolver().resolveVariable(fc, "bank");