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

Struts 1 Java Discussion :

Problème de chargement des div dans le sx:tabbedpanel avec Struts2


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 29
    Points
    29
    Par défaut Problème de chargement des div dans le sx:tabbedpanel avec Struts2
    Bonjour,

    J'ai un écran sous Struts 2 dans lequel je souhaite avoir des onglets. J'utilise pour cela le composant sx:tabbedpanel de dojo qui me permet de charger l'onglet sélectionné en Ajax. Lorsque je clique sur Ecran 1 ou Ecran 2 les actions Struts ne sont pas declenchées. Mais lorsque j'affiche la JSP coorespondant à ecranPrincipal.jsp, chacune des actions Struts sont executées les unes après les autres.

    mapping Struts :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <filter>
        	<filter-name>struts2</filter-name>
        	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    	</filter>
     
    <filter-mapping>
    		<filter-name>struts2</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    struts.xml :

    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
     
    <?xml version="1.0" encoding="UTF-8" ?>
     
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
    	<constant name="struts.devMode" value="false" />
    	<constant name="struts.action.extension" value="do" />
    	<constant name="struts.custom.i18n.resources"
    		value="com.omb.i18n.StrutsResourceBundle" />
    	<constant name="struts.objectFactory" value="spring" />
    	<constant name="struts.objectFactory.spring.autoWire" value="name" />
    	<constant name="struts.i18n.encoding" value="ISO-8859-1" />
    	<constant name="struts.i18n.reload" value="false" />
    	<constant name="struts.configuration.xml.reload" value="false" />
    	<constant name="struts.locale" value="fr" />
    	<constant name="struts.multipart.maxSize" value="100000000000" />
    	<constant name="struts.enable.SlashesInActionNames" value="true" />
        <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
     
        <constant name="struts.codebehind.classSuffix" value="Controller"/>
    	<constant name="struts.codebehind.action.checkImplementsAction" value="false"/>
    	<constant name="struts.codebehind.action.checkAnnotation" value="false"/>
    	<constant name="struts.codebehind.action.defaultMethodName" value="index"/>
    	<constant name="struts.configuration.classpath.defaultParentPackage" value="rest-default" />
     
    	<package name="default" extends="tiles-default" namespace="/">
     
    		<interceptors>
    			<interceptor name="userAware"
    				class="com.omb.interceptor.UserInterceptor" />
     
    			<interceptor name="params-filter"
    				class="com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor" />
     
    			<interceptor-stack name="defaultStack">
    				<interceptor-ref name="exception" />
    				<interceptor-ref name="alias" />
    				<interceptor-ref name="servletConfig" />
    				<interceptor-ref name="i18n" />
    				<interceptor-ref name="chain" />
    				<interceptor-ref name="modelDriven" />
    				<interceptor-ref name="fileUpload">
    					<param name="maximumSize">11204928</param>
    				</interceptor-ref>
    				<interceptor-ref name="staticParams" />
    				<interceptor-ref name="conversionError" />
    				<interceptor-ref name="params" />
    				<interceptor-ref name="prepare" />
    				<interceptor-ref name="validation" />
    				<interceptor-ref name="workflow" />
    				<interceptor-ref name="userAware" />
     
    			</interceptor-stack>
     
    		</interceptors>
     
    		<default-interceptor-ref name="defaultStack" />
     
    		<global-results>
    			<result name="technicalError" type="chain">
    				errorAction
    			</result>
    			<result name="sessionInvalidError" type="tiles">
    				sessionInvalid
    			</result>
    			<result name="blank" type="tiles">blank</result>
    		</global-results>
     
    		<global-exception-mappings>
    			<exception-mapping exception="java.lang.Exception"
    				result="technicalError" />
    		</global-exception-mappings>
     
    		<action name="errorAction"
    			class="com.omb.ErrorAction">
    			<result name="success" type="tiles">errorTile</result>
    		</action>
     
    		<action name="*Cache"
    			class="com.omb.CacheAction" method="{1}">
    			<result name="success" type="tiles">resultCache</result>
    			<result name="input" type="tiles">inputCache</result>
    		</action>
     
    	</package>
     
    	<package name="omb" extends="default" namespace="/omb">
    		<action name="*Action"
    			class="com.omb.MyAction"
    			method="{1}">
    			<result name="ecran1">/jsp/omb/ecran1.jsp</result>
    			<result name="ecran2">/jsp/omb/ecran2.jsp</result>
    		</action>
    	</package>
    </struts>
    ecranPrincipal.jsp :
    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
     
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
     
    <s:url id="urlAccueil" value="/jsp/omb/ecranAccueil.jsp"/>
    <s:url id="urlEcran1" namespace="/omb" 
    	action="ecran1Action.do" includeParams="false" />
    <s:url id="urlEcran2" namespace="/omb"
    	action="ecran2Action.do" includeParams="false" />
     
    <div class="content">
     
        <sx:tabbedpanel id="tabContainer">
    		<sx:div id="ongletWelcome" label="Accueil" href="%{urlAccueil}"/>
    		<sx:div id="ongletDelegation" label="Ecran 1" href="%{urlEcran1}" />
    		<sx:div id="ongletValidation" label="Ecran 2" href="%{urlEcran2}" />
        </sx:tabbedpanel>
     
    </div>

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    J'ai trouvé la solution : ajouter l'attribut refreshOnShow="true" à la balise sx:div. De plus j'ai ajouté un attribut preload="false" afin que le contenue de la div ne se charge que si l'utilisateur clique dessus.
    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
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
     
    <s:url id="urlAccueil" value="/jsp/omb/ecranAccueil.jsp"/>
    <s:url id="urlEcran1" namespace="/omb" 
    	action="ecran1Action.do" includeParams="false" />
    <s:url id="urlEcran2" namespace="/omb"
    	action="ecran2Action.do" includeParams="false" />
     
    <div class="content">
     
        <sx:tabbedpanel id="tabContainer">
    		<sx:div id="ongletWelcome" label="Accueil" href="%{urlAccueil}"/>
    		<sx:div id="ongletDelegation" label="Ecran 1" href="%{urlEcran1}" refreshOnShow="true" preload="false"/>
    		<sx:div id="ongletValidation" label="Ecran 2" href="%{urlEcran2}" refreshOnShow="true" preload="false"/>
        </sx:tabbedpanel>
     
    </div>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/10/2014, 09h53
  2. Réponses: 2
    Dernier message: 02/07/2014, 10h51
  3. Réponses: 4
    Dernier message: 01/03/2013, 11h52
  4. Réponses: 7
    Dernier message: 16/02/2012, 11h47
  5. problème pour fixer la taille des div dans template
    Par damien40 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/05/2007, 11h05

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