[jboss-user] [JBoss Seam] - problem including a jsp file into a jsf

alban_coul do-not-reply at jboss.com
Thu Dec 7 12:11:31 EST 2006


Hello,
Using jboss 4.0.4 with SEAM.
I have a problem when I use <jsp:include> into my jsf, it seams that SEAM instanciates as much databean as included page, so my conversation gets crazy!
I need to include them because I use a tabpane.
I am just wondering what to do, to be able to include jsp files into jsf page.

Here is the code of the main page :

 
  | <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
  | <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
  | <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
  | <%@ taglib uri="http://fmk.xxxx.fr/faces/cpage.tld" prefix="c"%>
  | <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
  | 
  | <script language="JavaScript"
  | 	src="<%=request.getContextPath()%>/js/navbox.js"></script>
  | <f:view>
  | 	<c:page>
  | 		<h:form id="priseEnChargeExterneMinimaleForm">
  | 			<c:document userContext="#{UserBean.userContext}">
  | 				<f:facet name="htmlHead">
  | 					<h:panelGroup>
  | 						<f:loadBundle
  | 							basename="fr.cpage.patient.priseencharge.web.messages" var="msg" />
  | 					</h:panelGroup>
  | 				</f:facet>
  | 				<f:facet name="topBody">
  | 					<h:panelGrid>
  | 						<c:commandButton value="#{msg.enregistrer}"
  | 							action="#{priseEnChargeExterneMinimale.enregistrer}" />
  | 					</h:panelGrid>
  | 				</f:facet>
  | 				<t:stylesheet path="/css/prise-en-charge.css" />
  | 				<t:stylesheet path="/css/menu-carte.css" />
  | 				<h:panelGrid columns="1" columnClasses="paddingLienPopup">
  | 					<f:subview id="menuCarte">
  | 						<jsp:include flush="true" page="../popup/menu-carte.jsp" />
  | 					</f:subview>
  | 				</h:panelGrid>
  | 				<h:panelGrid columns="7" styleClass="valignCenter">
  | 					<h:outputLabel for="nom_usage_requis"
  | 						value="#{msg.pecu_libelle_nom_usage}" />
  | 					<h:inputText size="25" id="nom_usage_requis"
  | 						value="#{identiteDatabean.nomUsage}" />
  | 					<h:outputLabel for="prenomUsage" value="#{msg.pecu_libelle_prenom}" />
  | 					<h:inputText size="25" id="prenomUsage"
  | 						value="#{identiteDatabean.prenomUsage}" />
  | 					<h:outputLabel for="dossier"
  | 						value="#{msg.pecu_libelle_numero_dossier}" />
  | 					<h:panelGrid columns="3" id="dossier" cellpadding="0"
  | 						cellspacing="0">
  | 						<h:outputText value="(#{dossierDatabean.etat})" />
  | 						<h:outputText
  | 							binding="#{priseEnChargeExterneMinimale.numeroDossierOutput}"
  | 							value="#{dossierDatabean.numeroHospitalisation}" />
  | 						<h:inputText size="10"
  | 							binding="#{priseEnChargeExterneMinimale.numeroDossierInput}"
  | 							value="#{dossierDatabean.numeroHospitalisation}" rendered="false" />
  | 					</h:panelGrid>
  | 				</h:panelGrid>
  | 				<c:graphicImageSpacer />
  | 				<t:panelTabbedPane binding="#{priseEnChargeExterneMinimale.onglets}">
  | 					<t:panelTab label="#{msg.pecem_label_onglet_identite}">
  | 						<f:subview id="ongletIdentite">
  | 							<jsp:include flush="true" page="pecem-identite-onglet.jsp" />
  | 						</f:subview>
  | 					</t:panelTab>
  | 					<t:panelTab label="#{msg.pecem_label_onglet_personne_en_relation}">
  | 						<f:subview id="ongletPersonneEnRelation">
  | 							<jsp:include flush="true"
  | 								page="pecem-personne-en-relation-onglet.jsp" />
  | 						</f:subview>
  | 					</t:panelTab>
  | 					<t:panelTab label="#{msg.pecem_label_onglet_dossier_mouvement}">
  | 						<f:subview id="ongletDossierMouvement">
  | 							<jsp:include flush="true"
  | 								page="pecem-dossier-mouvement-onglet.jsp" />
  | 						</f:subview>
  | 					</t:panelTab>
  | 				</t:panelTabbedPane>
  | 			</c:document>
  | 		</h:form>
  | 	</c:page>
  | </f:view>
  | 

And here the code of an included page : 

  | <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
  | <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
  | <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
  | <%@ taglib uri="http://fmk.xxxx.fr/faces/cpage.tld" prefix="c"%>
  | 
  | 
  | <h:panelGrid width="920">
  | 	<h:panelGrid width="460">
  | 		<h:outputLabel for="nisAQS" value="#{msg.ra_libelle_aqs}" />
  | 		<h:panelGrid columnClasses=", paddingCodeLibelle" cellpadding="0"
  | 			cellspacing="0">
  | 			<h:inputText id="nisAQS" size="5"
  | 				value="#{identiteDatabean.aqsHebergeur }" />
  | 			<h:inputText id="hebergeurAQS" size="16"
  | 				value="#{identiteDatabean.aqsNis }" />
  | 		</h:panelGrid>
  | 		<h:outputLabel for="nom_naissance_requis"
  | 			value="#{msg.pecu_libelle_nom_naissance}" />
  | 		<h:inputText size="25" id="nom_naissance_requis"
  | 			value="#{identiteDatabean.nomFamille}">
  | 		</h:inputText>
  | 		<h:outputLabel for="nomMarital"
  | 			value="#{msg.pecu_libelle_nom_marital}" />
  | 		<h:inputText size="25" id="nomMarital"
  | 			binding="#{priseEnChargeExterneMinimale.nomMarital}" />
  | 		<h:outputLabel for="sexe" value="#{msg.ra_libelle_sexe}" />
  | 		<h:selectOneListbox id="sexe" onchange="submit()"
  | 			valueChangeListener="#{priseEnChargeExterneMinimale.sexeChanged}"
  | 			value="#{identiteDatabean.sexe}" size="1">
  | 			<f:selectItems value="#{identiteDatabean.sexes}" />
  | 		</h:selectOneListbox>
  | 		<h:outputLabel for="date_naissance_requise"
  | 			value="#{msg.pecu_libelle_ne_le}" />
  | 		<h:inputText id="date_naissance_requise" size="10"
  | 			value="#{identiteDatabean.dateNaissance}">
  | 			<f:convertDateTime timeZone="Europe/Paris" pattern="dd/MM/yyyy"
  | 				locale="FR_fr" />
  | 		</h:inputText>
  | 		<h:outputLabel for="situationFamille"
  | 			value="#{msg.pecu_libelle_situation_de_famille}" />
  | 		<h:selectOneListbox id="situationFamille"
  | 			value="#{identiteDatabean.situationFamilleSelectionne}" size="1">
  | 			<f:selectItems value="#{identiteDatabean.situationsFamille}" />
  | 		</h:selectOneListbox>
  | 		<h:outputLabel value="#{msg.pecu_libelle_validite}" />
  | 		<h:selectBooleanCheckbox id="validite"
  | 			value="#{identiteDatabean.validePatient}" />
  | 	</h:panelGrid>
  | 	<h:panelGrid width="460">
  | 		<h:outputLabel for="nip" value="#{msg.pecu_libelle_nip}" />
  | 		<h:outputText id="nip" value="#{identiteDatabean.codeNip}" />
  | 		<h:outputLabel for="adresse_premiere_ligne_requise"
  | 			value="#{msg.pecu_libelle_adresse_de_residence}" />
  | 		<h:inputText id="adresse_premiere_ligne_requise" size="33"
  | 			value="#{identiteDatabean.rue}">
  | 		</h:inputText>
  | 		<h:outputLabel />
  | 		<h:inputText id="adresseDeuxiemeLigne" size="33"
  | 			value="#{identiteDatabean.premiereLigne}" />
  | 		<h:outputLabel for="codePostalcommune"
  | 			value="#{msg.pecu_libelle_code_postal_commune}" />
  | 		<h:panelGrid columnClasses=", paddingCodeLibelle"
  | 			id="codePostalcommune" cellpadding="0" cellspacing="0">
  | 			<c:inputCompleteText
  | 				value="#{identiteDatabean.codeDepartementDomicile}" size="5"
  | 				id="code_postal_requis">
  | 			</c:inputCompleteText>
  | 			<c:inputCompleteText
  | 				value="#{identiteDatabean.libelleDepartementDomicile}" size="25"
  | 				id="commune_requise">
  | 			</c:inputCompleteText>
  | 		</h:panelGrid>
  | 		<h:outputLabel for="pays" value="#{msg.pecu_libelle_pays}" />
  | 		<h:panelGrid columnClasses=", paddingCodeLibelle" id="pays"
  | 			cellpadding="0" cellspacing="0">
  | 			<c:inputCompleteText value="#{identiteDatabean.codeIsoPaysDomicile}"
  | 				size="3" id="code_pays_requis">
  | 			</c:inputCompleteText>
  | 			<c:inputCompleteText value="#{identiteDatabean.libellePaysDomicile}"
  | 				size="25" id="pays_requis">
  | 			</c:inputCompleteText>
  | 		</h:panelGrid>
  | 		<h:outputLabel for="modifieeLe"
  | 			value="#{msg.pecu_libelle_adresse_modifiee_le}" />
  | 		<h:outputText id="modifieeLe"
  | 			value="#{identiteDatabean.dateDerniereModificationDomicile}">
  | 			<f:convertDateTime timeZone="Europe/Paris" pattern="dd/MM/yyyy"
  | 				locale="FR_fr" />
  | 		</h:outputText>
  | 		<h:outputLabel for="telephoneDomicile"
  | 			value="#{msg.pecu_libelle_telephone_domicile}" />
  | 		<h:panelGrid columnClasses=" , , paddingLR" columns="3"
  | 			cellpadding="0" cellspacing="0">
  | 			<h:inputText size="10" id="telephoneDomicile"
  | 				value="#{identiteDatabean.telDomicile}" />
  | 			<h:selectBooleanCheckbox id="lrd"
  | 				value="#{identiteDatabean.telDomicileListeRouge}" />
  | 			<c:graphicImageRedPhone />
  | 		</h:panelGrid>
  | 		<h:outputLabel for="telephonePortable"
  | 			value="#{msg.pecu_libelle_portable}" />
  | 		<h:panelGrid columnClasses=" , , paddingLR" cellpadding="0"
  | 			cellspacing="0" columns="3">
  | 			<h:inputText size="10" id="telephonePortable"
  | 				value="#{identiteDatabean.telPortable}" />
  | 			<h:selectBooleanCheckbox id="lrp"
  | 				value="#{identiteDatabean.telPortableListeRouge}" />
  | 			<c:graphicImageRedPhone />
  | 		</h:panelGrid>
  | 	</h:panelGrid>
  | </h:panelGrid>

Any help would be appreciated.
Thanks.
Alban

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3992010#3992010

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3992010



More information about the jboss-user mailing list