2011-04-11 78 views
0
<p:editor value="#{editorBean.value}" widgetVar="editor" width="686" 
height="390" language="en" align="center"> 
</p:editor> 

以下是我的文本編輯器豆從primefaces拿起JSF 2.0 + Primefaces的文本編輯器

@ManagedBean(name = "editorBean") 
@SessionScoped 
public class EditorBean { 
    private static final String MANAGED_BEAN_NAME = "editorBean"; 
    private String value; 
    public static EditorBean getCurrentInstance() { 
     return (EditorBean) FacesContext.getCurrentInstance() 
      .getExternalContext().getRequestMap().get(MANAGED_BEAN_NAME); 
    } 

    public void setValue(String value) { 
     this.value = value; 
    } 

    public String getValue() { 
     return value; 
    } 
} 
從此我有另外一個bean

除了說答:我有一個方法內部的用於填充一個HTML表格。我想要的是當用戶打開編輯器時,應該預先填充該HTML表格數據,當然這些更改應該反映到(String:value)中。因此,你可以說我正試圖將這兩個值綁定在一起。我認爲這需要用DI來完成,但不知何故它不起作用。如果有人能夠引導或引用一個例子,這將是非常有用的。

回答

1

其中一種方法是重寫您的getValue()方法以從豆A中提取值。 是的,參考到你的一個bean應該來自DI:

//injecting a reference to A 
@ManagedPropery(value="#{A}") //or whatever is the name of your bean 
private A beanA; 

public void setBeanA(A beanA) { 
    this.beanA = beanA; 
} 

或者與CDI,只是:

@Inject private A beanA 

最後,您getValue方法

public String getValue() { 
    return beanA.getValue() 
}