Fala galera!
Eu precisava de, a partir do bean, colocar um input com calendário (aquele mesmo padrão do RichFaces - CalendarTag) em um painel grid que possui binding no bean. Eu tentei fazer assim:
package beans.teste;
import java.util.Date;
import javax.faces.component.html.HtmlPanelGrid;
import org.richfaces.taglib.CalendarTag;
public class Data
{
private Date data;
private HtmlPanelGrid painel;
public Data()
{
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public String submete()
{
System.out.println("Data: " + this.getData().toString());
return "";
}
public HtmlPanelGrid getPainel()
{
this.painel = new HtmlPanelGrid();
this.montaPainel();
return painel;
}
public void setPainel(HtmlPanelGrid painel) {
this.painel = painel;
}
/**
* Tenho de produzir este efeito:
* <rich:calendar currentDate="" popup="true" datePattern="dd/MM/yyyy" value="#{Data.data}" />
*/
public void montaPainel()
{
CalendarTag data = new CalendarTag();
data.setDatePattern(__datePattern);
data.setCurrentDate(__currentDate);
data.setValue(__value);
data.setPopup(__popup);
this.painel.getChildren().add(data);
}
}
mas não deu certo porque o painel (HtmlPanelGrid) recebe no método add apenas derivados de UIComponent. E CalendarTag não é. Alguém sabe como fazer isso? E mais: alguém sabe como produzir aqueles ValueExpressions que serão setados os métodos de data?
Agradeço desde já!