1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
public class ActeurBean {
private List<Acteur> acteurs = new ArrayList<Acteur>();
private DossierBean dossier = new DossierBean();
private int nb;
private String header = "Acteur n° ";
private HtmlPanelBar bar;
public ActeurBean() {
}
public String createActeur() {
acteurs.removeAll(getActeurs());
bar = new HtmlPanelBar();
bar.setRendered(true);
populateDynamicBar();
return "generer";
}
public String enregistrer() {
System.out.println("ENREGISTRER : DEBUT");
dossier.addActeur(acteurs);
System.out.println("ENREGISTRER : FIN");
return "enregistrer";
}
public void populateDynamicBar() {
bar.setWidth("850");
for (int i = 0; i < nb; i++) {
Acteur acteur = new Acteur();
acteurs.add(acteur);
HtmlPanelBarItem barItem = new HtmlPanelBarItem();
barItem.setLabel(header + (i + 1));
HtmlForm form = new HtmlForm();
form.setStyleClass("alignCenter");
HtmlPanelGrid grid = new HtmlPanelGrid();
grid.setBorder(0);
grid.setColumns(2);
HtmlOutputText labelName = new HtmlOutputText();
labelName.setValue("Nom de l'acteur : ");
HtmlOutputText labelDescription = new HtmlOutputText();
labelDescription.setValue("Description de l'acteur : ");
HtmlInputText inputText = new HtmlInputText();
inputText.setValueExpression("value", createValueExpression("#{acteur.acteurs[" + i + "].name}", String.class));
inputText.isRequired();
HtmlInputTextarea textarea = new HtmlInputTextarea();
textarea.setValueExpression("value", createValueExpression("#{acteur.acteurs[" + i + "].description}",String.class));
textarea.isRequired();
textarea.setCols(100);
textarea.setRows(10);
UIParameter parameter = new UIParameter();
parameter.setValue(i);
grid.getChildren().add(labelName);
grid.getChildren().add(inputText);
grid.getChildren().add(labelDescription);
grid.getChildren().add(textarea);
form.getChildren().add(grid);
barItem.getChildren().add(form);
bar.getChildren().add(barItem);
}
}
public List<Acteur> getActeurs() {
return acteurs;
}
public void setActeurs(List<Acteur> acteurs) {
this.acteurs = acteurs;
}
public DossierBean getDossier() {
return dossier;
}
public void setDossier(DossierBean dossier) {
this.dossier = dossier;
}
public int getNb() {
return nb;
}
public void setNb(int nb) {
this.nb = nb;
}
public HtmlPanelBar getBar() {
return bar;
}
public void setBar(HtmlPanelBar bar) {
this.bar = bar;
}
private ValueExpression createValueExpression(String valueExpression, Class<?> valueType) {
FacesContext facesContext = FacesContext.getCurrentInstance();
return facesContext.getApplication().getExpressionFactory().createValueExpression(facesContext.getELContext(), valueExpression, valueType);
}
private MethodExpression createActionExpression(String actionExpression, Class<?> returnType) {
FacesContext facesContext = FacesContext.getCurrentInstance();
return facesContext.getApplication().getExpressionFactory().createMethodExpression(facesContext.getELContext(), actionExpression, returnType, new Class[0]);
}
} |
Partager