IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

JSF1.2/RichFaces3.3.0GA: requête ne s'exécutant qu'une seule fois par session


Sujet :

JSF Java

  1. #21
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    bizard, il doit y'avoir un problème dans ta classe..ça marche bien le a4j:actionparam.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:actionparam name="userId" value="{id}" assignTo="#{bean.selectedUserId}" />
    l'attribut name est obligatoire.

  2. #22
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    le a4j:actionParam prend bien la valeur de {id} et l'envoie, mais une seule fois.

    par contre le f:setPropertyActionListener fonctionne bien plusieurs fois, mais ne prend pas en compte le {id}.

    J'ai pensé au début que ca venait de ma classe, c'est pour ca que j'ai voulu tester la démo richFaces, en utilisant une page .xhtml et un bean différent (de façon à ce que le test soit indépendant, et que seule la config de l'application soit commune).

    Mais le problème reste le même. La seule différence, c'est que pour la démo richfaces, j'ai pu employer le setPropertyActionListener puisque la valeur est écrite "en dure" et non variable en fonction de la ligne.

    J'avoue ne pas comprendre le fonctionnement qui limite à un seul envoi une action sur un bean. Du coup je reste bloqué sur ce problème, qui peux en cacher un autre (comme les trains).

    En tout cas merci de consacrer du temps pour m'aider.

  3. #23
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par Rigon Voir le message
    J'avoue ne pas comprendre le fonctionnement qui limite à un seul envoi une action sur un bean.
    Il n'ya pas de limitation, mais il y'a surement un problème, a4j:actionparam fonctionne bien avec le componentControl, tu n'a pas d'erreurs javascript au deuxième appel?

  4. #24
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Je n'ai pas d'erreur, que ce soit au niveau du <h:messages />, du <a4j:log> ou des log JSF.
    Je suis passé à un niveau plus détaillé de debug, afin de suivre plus précisément les log JSF, et j'ai repéré que lors de la première exécution, il y avait cette ligne

    beforePhase RENDER_RESPONSE(6)
    "get Alex"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Service class set to default implementation org.ajax4jsf.renderkit.AJAXDataSerializer
    afterPhase RENDER_RESPONSE(6)
    Process after phase RENDER_RESPONSE(6)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    default tidy parser properties loaded
    Qui n'était pas présente lors des appels suivants.(j'ai remis les phases ou se situe les lignes différentes, ainsi que l'appel au get).

    J'avoue ne pas avoir trouvé à quoi correspondait ces deux lignes. Mais je continue de chercher.

  5. #25
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu peux montrer ton web.xml en entier.

  6. #26
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    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
    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
    <?xml version="1.0"?>
     
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    	version="2.4">
     
    	<description>jsf proto annuaire.xml</description>
    	<!-- Skin Richfaces -->
    	<context-param>
    		<param-name>org.richfaces.CONTROL_SKINNING</param-name>
    		<param-value>enable</param-value>
    	</context-param>
    	<context-param>
    		<param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
    		<param-value>enable</param-value>
    	</context-param>
    	<!--
    		Différents skin pré-implémenter possible, changer le nom du skin pour
    		changer le skin liste des skins pré-existants: blueSky, classic,
    		deepMarine, DEFAULT, emeraldTown, japanCherry, NULL, plain, ruby, wine
    	-->
    	<context-param>
    		<param-name>org.richfaces.SKIN</param-name>
    		<param-value>blueSky</param-value>
    	</context-param>
     
    	<context-param>
    		<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
    		<param-value>true</param-value>
    	</context-param>
    	<context-param>
    		<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
    		<param-value>com.sun.facelets.FaceletViewHandler</param-value>
    	</context-param>
    	<context-param>
    		<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    		<param-value>.xhtml</param-value>
    	</context-param>
     
    	<!-- Importation de la librairie spécifique au projet -->
    	<context-param>
    		<param-name>facelets.LIBRARIES</param-name>
    		<param-value>/WEB-INF/compoAnnuaire.taglib.xml</param-value>
    	</context-param>
     
     
    	<!-- Special Debug Output for Development -->
    	<context-param>
    		<param-name>facelets.DEVELOPMENT</param-name>
    		<param-value>true</param-value>
    	</context-param>
     
    	<context-param>
    		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    		<param-value>server</param-value>
    	</context-param>
     
    	<filter>
    		<display-name>RichFaces Filter</display-name>
    		<filter-name>richfaces</filter-name>
    		<filter-class>org.ajax4jsf.Filter</filter-class>
    	</filter>
    	<filter-mapping>
    		<filter-name>richfaces</filter-name>
    		<servlet-name>Faces Servlet</servlet-name>
    		<dispatcher>REQUEST</dispatcher>
    		<dispatcher>FORWARD</dispatcher>
    		<dispatcher>INCLUDE</dispatcher>
    	</filter-mapping>
     
    	<!-- pour maintenir la session ouverte pour une vue (requête multiple) -->
    	<filter>
    		<filter-name>Hibernate Session In View Filter</filter-name>
    		<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    	</filter>
    	<filter-mapping>
    		<filter-name>Hibernate Session In View Filter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
     
    	<listener>
    		<listener-class>
    			org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>
    			org.springframework.web.context.request.RequestContextListener</listener-class>
    	</listener>
     
    	<!-- Faces Servlet -->
    	<servlet>
    		<servlet-name>Faces Servlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet>
    		<servlet-name>SpringContextServlet</servlet-name>
    		<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
     
     
    	<!-- Faces Servlet Mapping -->
    	<servlet-mapping>
    		<servlet-name>Faces Servlet</servlet-name>
    		<url-pattern>*.jsf</url-pattern>
    	</servlet-mapping>
     
    	<!-- Welcome files -->
    	<welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
    		<welcome-file>index.html</welcome-file>
    	</welcome-file-list>
     
    </web-app>
    Voilà, de la première à la dernière ligne.

    Merci beaucoup.

  7. #27
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    ajoute le xmlparser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <context-param>
      <param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
      <param-value>NEKO, TIDY</param-value>
     </context-param>

    sinon peux tu remettre le code qui ne marche pas, la syntaxe {xx}, ne fonctionne qu'avec componentControl il me semble..

  8. #28
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Alors après rajout du filtre et chargement de la librairie:
    Pour ma liste de personne et l'affichage de la fiche perso.
    => Lors du premier clic, j'obtiens la fiche demandé, et pour les clics suivants, pas de changements de l'id stockée, bref, ca n'a rien changé.

    Pour la demo de richFaces:
    =>le reRender ne s'effectue pas, je me retrouve avec une erreur que je n'avais pas avant dans le a4j:log.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error[19:54:28,045]: New node for ID j_id2:rep is not present in response
    rep correspondant à l'id du <h:outputText> ou est affiché le nom après sélection.
    Sinon au niveau des log, on a un seul set (premier clic) et puis fini.

    Edit: j'avais oublié de répondre à la seconde partie.

    Alors j'avais testé deux choses, la partie dataTable et ComponenetControl ne change pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    			<rich:componentControl event="onRowClick" for="menu" operation="show">
    				<f:param value="#{personne.nom}" name="nom" />
    				<f:param value="#{personne.idPersonne}" name="id" />
    			</rich:componentControl>
    et donc les deux solutions:

    Code a4j:actionparam : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		<rich:contextMenu attached="false" id="menu">
    			<f:facet name="header">
    				<h:outputText value="{nom}" />
    			</f:facet>
    			<rich:menuItem action="fichePersonne" ajaxSingle="true">
    				<a4j:actionparam name="userId" value="{id}"
    					assignTo="#{AffichageBean.tbPersonneId}" />
    				<h:outputText value="fiche" />
    			</rich:menuItem>
    		</rich:contextMenu>

    Code f:setPropertyActionListener : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <rich:contextMenu attached="false" id="menu">
    			<f:facet name="header">
    				<h:outputText value="{nom}" />
    			</f:facet>
    			<rich:menuItem action="fichePersonne" ajaxSingle="true">
    				<f:setPropertyActionListener value="{id}"
    					target="#{personne.idPersonne}" />
    				<h:outputText value="fiche" />
    			</rich:menuItem>
    		</rich:contextMenu>

    Dans le premier cas, on observe le comportement que j'ai décrit: une seule modification de la valeur.

    Dans le second cas:
    Code log error f:setPropertyActionListener : 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
    41
    42
    43
    An exception occurred
    javax.faces.FacesException: Exception while calling broadcast on component : {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId: /Pages/listePersonne.xhtml][Class: javax.faces.component.html.HtmlForm,Id: j_id43][Class: org.richfaces.component.html.ContextMenu,Id: menu][Class: org.richfaces.component.html.HtmlMenuItem,Id: j_id84]}
    	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:494)
    	at javax.faces.component.UICommand.broadcast(UICommand.java:105)
    	at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
    	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
    	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
    	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
    	at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:966)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:957)
    	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:957)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:353)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:567)
    	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:147)
    	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
    	at org.mortbay.jetty.Server.handle(Server.java:248)
    	at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:360)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:628)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:611)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:197)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:288)
    	at org.mortbay.jetty.nio.SelectChannelConnector$HttpChannelEndPoint.run(SelectChannelConnector.java:805)
    	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
    Caused by: javax.el.PropertyNotFoundException: /WEB-INF/ComposantsCA/Personne/tableauPersonneAll.xhtml @103,40 target="#{personne.idPersonne}": Target Unreachable, identifier 'personne' resolved to null
    	at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:95)
    	at com.sun.facelets.tag.jsf.core.SetPropertyActionListenerHandler$SetPropertyListener.processAction(SetPropertyActionListenerHandler.java:113)
    	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:48)
    	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:489)
    	... 34 more

    la variable personne (var de la dataTable) est à null dans ce cas.

  9. #29
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu peux créer un simple bean en session et passr l'id à ce bean, ne pas tester avec ton bean AfficheXxx..

    et dans le componentControle ajoute .

  10. #30
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Alors déjà j'avais fait une erreur dans le code précédent:

    au niveau du setProperty

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <f:setPropertyActionListener value="{id}"
    					target="#{personne.idPersonne}" />
    En fait, fallait mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <f:setPropertyActionListener value="{id}"
    					target="#{AffichageBean.tbPersonneId}" />
    Je réaffectait ma valeur à la personne correspondant à la ligne sur laquelle j'ai cliqué. Lors de mes premiers test, j'avais pas fait l'erreur.

    Donc maintenant j'ai la bonne erreur (enfin, si on peux considérer qu'une erreur soit bonne).

    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
    Caused by: javax.el.ELException: /WEB-INF/ComposantsCA/Personne/fichePersonne.xhtml @12,61 value="#{TbPersonneBean.tbPersonne.nom}": Error reading 'tbPersonne' on type proto.jsf12.bean.form.TbPersonneBean
    	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
    	at javax.faces.component.UIOutput.getValue(UIOutput.java:68)
    	at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getValue(RendererUtils.java:327)
    	... 43 more
    Caused by: java.lang.NumberFormatException: For input string: "{id}"
    	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    	at java.lang.Integer.parseInt(Integer.java:449)
    	at java.lang.Integer.<init>(Integer.java:660)
    	at proto.jsf12.bean.form.TbPersonneBean.getTbPersonne(TbPersonneBean.java:46)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
    	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:51)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
    	at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
    	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
    	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
    	... 45 more
    Sinon j'ai bien rajouter le submitMode="Ajax" dans le rich:componentControl, et ca ne marche pas mieux. Il renvoi toujours {id} au lieu de la valeur. (d'où l'erreur du dessus ou il me dit ne pas trouver la fiche avec l'id {id}.

    Je suis passé par un autre bean, ContextuelBean:

    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
    package proto.jsf12.bean.affichage;
     
    public class ContextuelBean {
     
    	private String valeur;
     
    	public ContextuelBean(){
    		super();
    	}
     
    	public String getValeur() {
    		System.out.println("récupération de la valeur Test");
    		return valeur;
    	}
     
    	public void setValeur(String valeur) {
    		System.out.println("stockage de la valeur test: "+valeur);
    		this.valeur = valeur;
    	}
    }
    Je stock donc ma valeur dans ce bean, et au moment de l'enregistrement:
    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
     
    beforePhase RESTORE_VIEW(1)
    afterPhase RESTORE_VIEW(1)
    beforePhase APPLY_REQUEST_VALUES(2)
    afterPhase APPLY_REQUEST_VALUES(2)
    beforePhase PROCESS_VALIDATIONS(3)
    afterPhase PROCESS_VALIDATIONS(3)
    beforePhase UPDATE_MODEL_VALUES(4)
    afterPhase UPDATE_MODEL_VALUES(4)
    beforePhase INVOKE_APPLICATION(5)
    stockage de la valeur test: {id}
    afterPhase INVOKE_APPLICATION(5)
    beforePhase RENDER_RESPONSE(6)
    valeur FkResponsable null
    afterPhase RENDER_RESPONSE(6)
    La valeur stockée est bien {id} et non pas la valeur.

  11. #31
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    faut mettre le même type si l'id est Integer et utiliser actionparam, je ne suis pas sur que setPropertyActionListener accepte la syntaxe JSON {id}.

  12. #32
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    En utilisant a4j:actionparam, je reviens au début.

    L'id est bien stocké, mais une seule fois. (que je passe par AffichageBean ou par ContextuelBean).

    à l'appel suivant, il n'y a plus exécution du setValeur (je ne rentre même pas dans la fonction).

    Ce comportement est anormal, et j'avoue que je ne vois toujours pas pourquoi.

    J'ai continué à faire des recherches, et je n'ai pas trouvé de personnes ayant le même cas de figure que moi. Je pense que c'est lié à un problème de configuration, mais je n'ai rien trouvé ne correspondant pas à ce qui est indiqué sur les différents tuto/site officiel.

    Mais bon, je continue de chercher.

  13. #33
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu peux mettre l'exemple de actionparam dans un war, je testerai sur mon poste.

  14. #34
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Voilà les sources, y a plus qu'à compiler (j'ai fait sauter les sources, mais avec le POM tu devrai pouvoir récup les sources facilemement).

    En espérant que c'est ce que tu voulais.

    J'ai mis le minimum syndical pour utiliser richfaces. Et j'ai toujours le même problème au final.

    Par contre, je viens de penser, j'utilise jetty pour faire tourner mes test (plug in jetty pour eclipse), est ce que ca pourrait pas venir de là?
    Fichiers attachés Fichiers attachés

  15. #35
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    dans le pom il y'a pas de rtichfaces-api et richfaces-impl..?

  16. #36
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    En fait, en prenant org.richfaces.ui il va automatiquement te chercher Api et impl. (dépendance obligatoire).

    Du coup dans le POM tu déclares uniquement org.richfaces.ui 3.3.2.SR1

  17. #37
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par Rigon Voir le message
    En fait, en prenant org.richfaces.ui il va automatiquement te chercher Api et impl. (dépendance obligatoire).

    Du coup dans le POM tu déclares uniquement org.richfaces.ui 3.3.2.SR1
    ça marche bien chez moi sous tomcat 6 et du premier coup . .

    beforePhase RESTORE_VIEW(1)
    afterPhase RESTORE_VIEW(1)
    beforePhase APPLY_REQUEST_VALUES(2)
    afterPhase APPLY_REQUEST_VALUES(2)
    beforePhase PROCESS_VALIDATIONS(3)
    afterPhase PROCESS_VALIDATIONS(3)
    beforePhase UPDATE_MODEL_VALUES(4)
    afterPhase UPDATE_MODEL_VALUES(4)
    beforePhase INVOKE_APPLICATION(5)
    enregistrement de la valeur Alex
    afterPhase INVOKE_APPLICATION(5)
    beforePhase RENDER_RESPONSE(6)
    sortie de la valeur: Alex
    afterPhase RENDER_RESPONSE(6)
    beforePhase RESTORE_VIEW(1)
    afterPhase RESTORE_VIEW(1)
    beforePhase APPLY_REQUEST_VALUES(2)
    afterPhase APPLY_REQUEST_VALUES(2)
    beforePhase PROCESS_VALIDATIONS(3)
    afterPhase PROCESS_VALIDATIONS(3)
    beforePhase UPDATE_MODEL_VALUES(4)
    afterPhase UPDATE_MODEL_VALUES(4)
    beforePhase INVOKE_APPLICATION(5)
    enregistrement de la valeur John
    afterPhase INVOKE_APPLICATION(5)
    beforePhase RENDER_RESPONSE(6)
    sortie de la valeur: John
    afterPhase RENDER_RESPONSE(6)

  18. #38
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Ok, je vais tester de le mettre sur mon serveur de dev plutôt qu'en local avec jetty alors.

    Si c'est ça, je craque.

  19. #39
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    je remonte le sujet pour dire que ca marche bien sous tomcat.
    J'ai eu un problème avec X11 (un peu bizarre puisque je n'utilise pas de graphique ou autres) et il me manquait 2 petites librairies:

    Si ca peux servir à quelqu'un.
    Une fois passé sur tomcat 5.5, tout marche très bien.

    Tout s'exécute correctement, merci donc pour l'aide. Le problème venait donc du conteneur (jetty) que j'utilisais pour faire mes test.

    Sujet résolu

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Requête SQL: Afficher Gratuit/Payant en une seule fois
    Par Sethenssen dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/11/2009, 20h43
  2. Réponses: 1
    Dernier message: 25/09/2009, 12h03
  3. [MySQL] requête select une seule fois
    Par speedylol dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/02/2009, 06h40
  4. [Prototype] Envoie qu'une seule fois d'une requête
    Par akrogames dans le forum Bibliothèques & Frameworks
    Réponses: 8
    Dernier message: 20/05/2008, 11h48
  5. Fusionner 3 requêtes avec un SUM en une seule
    Par David Guillouet dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/07/2004, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo