je ne peux pas utiliser une valeur de haricots dans mon contrôle personnalisé .: par exemple:ne peut pas utiliser des valeurs de haricots dans facelets composant personnalisé
c'est mon fichier foo.taglib.xml.
<facelet-taglib>
<namespace>http://www.penguenyuvasi.org/tags</namespace>
<tag>
<tag-name>test</tag-name>
<component>
<component-type>test.Data</component-type>
</component>
</tag>
</facelet-taglib>
faces-config.xml
<component>
<component-type>test.Data</component-type>
<component-class>test.Data</component-class>
</component>
test.Data classe
package test;
import java.io.IOException;
import javax.faces.component.UIComponentBase;
import javax.faces.context.FacesContext;
public class Data extends UIComponentBase {
private Object msg;
@Override
public String getFamily() {
return "test.Data";
}
@Override
public void encodeBegin(FacesContext context) throws IOException {
super.encodeBegin(context);
context.getResponseWriter().write(msg.toString());
}
public void setMsg(Object msg) {
this.msg = msg;
}
}
Bean.java:
package test;
public class Bean {
private String temp = "vada";
public String getTemp() {
return temp;
}
}
test.xhtml (ne fonctionne pas)
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://www.penguenyuvasi.org/tags">
<py:test msg="#{bean.temp}" />
</html>
test.xhtml (travaux)
<py:test msg="#{bean.temp}" />
Merci beaucoup. Excellente solution Informations supplémentaires: ValueBinding est obsolète. ValueExpression doit être utilisé. –
Oui, en effet, ValueExpression doit être utilisé à la place. – romaintaz
ValueExpression ve = getValueExpression ("msg"); if (ve! = Null) { return (Chaîne) ve.getValue (getFacesContext(). GetELContext()); } –