2011-04-11 79 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() 
}