J'ai modifié ma question pour être plus précis car j'ai plus de temps pour l'écrire.JSF, propriété de mise à jour de plusieurs beans sous une forme
J'ai une forme de JSF qui devrait modifier la valeur des propriétés différentes d'un chien:
<h:form id="submit">
<h:outputLabel value="Dog name:"/>
<h:inputText value="#{User.dog.name}" id="dogName"/>
<h:outputLabel value="Name :"/>
<h:inputSecret value="#{User.name}" id="name" />
<h:commandButton type="submit" value="Submit" />
</h:form>
Ceci est mon bean géré User.java
: (Tout le getter et setter sont bonnes et valables, car cela est un constructeur de bean est vide). (Initialement propriété de chien est initialisé dans une méthode de validation, il a donc une valeur et est not null
)
public class User {
public User() {}
String name;
Dog dog;
(...get, set, ect...)
Ceci est un autre grain que je ne l'ai pas ensemble géré comme il est utilisé uniquement par classe utilisateur Dog.java
:
public class Dog{
public User() {}
String dog_name;
(...)
Offcourse ceci est un exemple simple pour comprendre la chose.
Lorsque j'envoie le formulaire, la propriété User.name
mettra à jour, mais pas la propriété User.dog.name
.
Comment les deux valeurs des classes Java peuvent-elles être mises à jour?
Une fois le formulaire soumis je montre les valeurs actuelles, seule la User.name
a changé:
System.out.println (User.name); // valeur modifiée après l'envoi du formulaire System.out.println (User.dog.name); // valeur non modifiée après que le formulaire est soumis
Je ne sais pas si vous comprenez mon problème ici, je veux manipuler les propriétés de classe de chien dans mon formulaire de JSF bien que je ne modifierai pas le haricot de chien directement, seulement le User.Dog
...
Soit dit en passant, des visages-config est ok:
EDIT: J'ai ajouté un bean géré pour mon utilisateur. Bien que, rien n'est changé ...
<managed-property>
<property-name>dog</property-name>
<property-class>package.Dog</property-class>
<value>#{Dog}</value>
</managed-property>
Corrigez votre question - votre classe de classe Dog est déclarée comme utilisateur – Bozho
Désolé, copier/coller typo. :) – wiooz