Formulaire JSF non mis à jour
Bonjour
j'ai un petit soucis de mise a jour d'un bean entre deux pages jsf
ma première page :
Code:
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
|
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition template="layout_main.xhtml">
<ui:define name="contenu">
<body>
<h:dataTable id="bankList" value="#{toto.allBanks}" var="bank" >
<f:facet name="header">
#{msg['page.banklist.table.title']}
</f:facet>
<h:column>
<h:commandLink value="#{msg['page.banklist.table.link.bank.edit']}" action="#{toto.showBanksDetailPage(bank)}" />
</h:column>
<h:column>
<h:outputText value="#{msg['page.banklist.table.header.bank.id']}" />
</h:column>
<h:column headerText="#{msg['page.banklist.table.header.bank.name']}">
<h:outputText value="#{bank.name}" />
</h:column>
</h:dataTable>
</body>
</ui:define>
</ui:composition>
</html> |
Quand je clique sur le lien h:commandLink j'ai bien ma seconde page qui s'affiche :
Code:
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
|
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition template="layout_main.xhtml">
<ui:define name="contenu">
<body>
<h:form>
<h:outputLabel for="title" value="Titles" />
<h:inputText id="title" value="#{toto.bank.name}" required="true"
requiredMessage="Bank name is required" validatorMessage="Max length is 10">
<f:validateLength maximum="10" />
</h:inputText>
</h:form>
</body>
</ui:define>
</ui:composition>
</html> |
Sauf que le champ
Code:
1 2 3 4
| <h:inputText id="title" value="#{toto.bank.name}" required="true"
requiredMessage="Bank name is required" validatorMessage="Max length is 10">
<f:validateLength maximum="10" />
</h:inputText> |
est vide
Voici le bean Toto :
Code:
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
|
@Named
@SessionScoped
public class Toto implements Serializable {
private static final long serialVersionUID = 1118351396911753744L;
@EJB
BankService bankService = null;
private Bank bank;
public List<Bank> getAllBanks() {
return bankService.getAllBanks();
}
public String showBanksDetailPage(Bank bank) {
this.bank = bank;
return "adminBankDetails";
}
public BankService getBankService() {
return bankService;
}
public void setBankService(BankService bankService) {
this.bankService = bankService;
}
public Bank getBank() {
return this.bank;
}
public void setBank(Bank bank) {
this.bank = bank;
}
} |
Comme les deux pages partagent le même formulaire (Toto) la seconde devrait voir la propriété Bank ?
mais c'est vide, et je pige pas.
merci d'avance.