0
我正在使用JSF和EJB一起使用RMI,它工作正常,即所有在EJB上使用的實體在JSF上都有一個關鍵字並且在xhtml中我可以很容易地訪問它的字段 下面是一個示例代碼爲什麼Jsf無法訪問Axis2生成的ADBBean字段?
@ManagedBean("abc")
@SessionScoped
public class ABC{
private Customer customer;
public Customer getCustomer(){
return customer;
}
public void setCustomer(Customer customer){
this.customer=customer;
}
}
//Entity Class Customer
Public class Customer implements Serializable{
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
而在XHTML頁面,我可以用我愛:
<input value="#{abc.customer.name}"/>
正如你可以在上面看到,我訪問其直接場,因此它可以同時訪問getter和setter自動
但現在我haved改爲使用Axis2客戶端生成web服務,他們有EJB
低於的實體自己生成的骨架是一個示例:
@ManagedBean("abc")
@SessionScoped
public class ABC{
private WebClientStub.Customer customer;
public Customer getCustomer(){
return customer;
}
public void setCustomer(WebClientStub.Customer customer){
this.customer=customer;
}
}
//Entity Class Customer
Public class Customer implements org.apache.axis2.databinding.ADBBean{
protected String localName;
public String getName(){
return localName;
}
public void setName(java.lang.String name){
this.localName=name;
}
}
,並在JSF我無法訪問名字就像我之前
<input value="#{abc.customer.localName}"/>
相反,我只能訪問其getter或setter訪問它,任何人能解釋爲什麼,或拿出一個解決方案
您是否確定**原始代碼中的「客戶」字段是私有的,並且沒有獲取者/設置者?或者你在那裏有getter/setter? – Kukeltje
是的,它是私人的,它有公共的getter setter我忘了提及。但即使在改變getter setter後,這也不是問題。但Customer類的屬性現在沒有被訪問..我是否需要在xhtml頁面中添加另一個「xmlns:」? etc –
我剛剛在CODE中添加了一條評論,如果沒關係的話。 ? –