bonjour,
Je posséde un formulaire avec plusieurs champs. Le dernier champ de mon formulaire depand du type d'authentification choisi. Le type d'authentification se choisit avec un radio bouton (regular ou ssl). Si le type est REGULAR alors le champ certificat est inactif (disabled=true) sinon il est actif.
Lorsque que je suis dans mon formulaire et que je m'amuse à choisir les types alors mon champ passe bien de inactif a actif et invercement.
Le problème est lorsque j'essaie de valider mon formulaire avec le type SSL où le champ certificat doit donc être rempli. A ce moment la valeur de mon champ est toujours null peut importe se que j'écris dedans. Le problème c'est qu'il ne passe pas par le setteur.
code jsp:
voici mon code java:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <h:form id="formUpdateGateway"> <h:messages layout="table" styleClass="errorMsg"/> <h:panelGrid columns="2"> <h:outputText value="#{bundle.createGateway_typeAuthentification}"/> <h:selectOneRadio valueChangeListener="#{UpdateGateway.AuthentificationValueChanged}" value="#{UpdateGateway.authSelected}" onchange="submit();"> <f:selectItems value="#{UpdateGateway.authOptions}"/> </h:selectOneRadio> <h:panelGroup> <h:outputText value="#{bundle.createGateway_certificat}" styleClass="#{UpdateGateway.isValidCertif ? '' : 'errorMsg'}"/> <span class="errorMsg">*</span> </h:panelGroup> <h:inputText disabled="#{not UpdateGateway.isMendatoryCertif}" value="#{UpdateGateway.certif}"/> </h:panelGrid> <h:commandButton type="submit" action="#{UpdateGateway.submitUpdateGatewayAction}" id="submitUpdateGateway" value="#{bundle.submit}" styleClass="default_button"/> </h:form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class UpdateGateway { private String authSelected; private String certif; private boolean isMendatoryCertif = true; public UpdateGateway() throws NamingException { if (getGateway().getSecurityType() == null) { authSelected = SecurityType.REGULAR.toString(); } else { authSelected = getGateway().getSecurityType().toString(); } if(authSelected.equals(SecurityType.REGULAR.toString())) { isMendatoryCertif = false; } certif = getGateway().getCertificateAlias(); System.out.println("constructeur: " + certif); } public void AuthentificationValueChanged(ValueChangeEvent event){ final String value = event.getNewValue().toString(); if(value.equals(SecurityType.SSL.toString())) { isMendatoryCertif = true; } else { certif = null; isMendatoryCertif = false; } System.out.println("listener: " + certif); } public String getCertif() { return this.certif; } public void setCertif(final String certif) { this.certif = certif; System.out.println("setteur: " + certif); } }
Partager