Hi Martin, nice Idee, I am gonna try id. Thanks lot for your patience and help! :)
Regards Johannes "MyFaces Discussion" <[email protected]> schrieb am 05.08.05 11:05:34: > > > ---------- Forwarded message ---------- > From: Martin Marinschek <[EMAIL PROTECTED]> > Date: Aug 5, 2005 11:05 AM > Subject: Re: Messages and navigation rule redirects post > To: Johannes Hiemer <[EMAIL PROTECTED]> > > Nice solution, > > even though a bit verbose... You might want to try a phase-listener wich you > add before the render response phase and which checks for this bean and adds > the messages to the context instead of doing that in a bean as well. > > regards, > > Martin > > On 8/5/05, Johannes Hiemer < [EMAIL PROTECTED]> wrote: > Hi Richard, Hi Martin, > perhaps I got something. I took my time this morning and spend it trying some > things. In my implementation I got a standard BaseController for all my > handlers. So I thought, why should I use this BaseController to save this > message for a while. After a few minutes I got a working solution. > Here is my code: > > ##### BaseController ##### > > private static FacesMessage notification; > > /** > * @return Returns the notification. > */ > public FacesMessage getNotification() { > return notification; > } > > /** > * @param notification The notification to set. > */ > public void setNotification(FacesMessage notification) { > this.notification = notification; > } > > ###### faces-config.xml ######## > > <managed-bean> > <managed-bean-name>BaseController</managed-bean-name> > <managed-bean-class> > itecon.web.resource.BaseController > </managed-bean-class> > <managed-bean-scope>session</managed-bean-scope> > </managed-bean> > > > This is my BaseController, now we get to the SparepartHandler.java where > actually the first stept happens. > > public String add() { > message = this.getMessage(); > log.info (message); > String notification = > Utils.getMessageResourceBundle(getBundle(), "internalDatasetExists", null, > getLocale()); > setNotification(new FacesMessage(FacesMessage.SEVERITY_INFO, > notification, notification)); > return message; > } > > As you can see, I get my notification from my ResourceBundle of the > Application. After the I put it through BaseController.setNotification into > my private static FacesMessage notification; > Till here - fine. > > No I have a second managed bean called: NotificationHandler. > > ##### NotificationHandler.java ####### > > public class NotificationHandler extends BaseController implements > Serializable { > > private String hiddenField = null; > > public void pageLoad() { > log.info(getNotification()); > facescontext.addMessage("globalMessage", getNotification()); > } > > /** > * @return Returns the hiddenField. > */ > public String getHiddenField() { > return hiddenField; > } > > /** > * @param hiddenField The hiddenField to set. > */ > public void setHiddenField(String hiddenField) { > this.hiddenField = hiddenField; > } > } > > The hiddenField was created because I don't know another way to initialize > the managed-bean through my success.jspx > That's my managed bean in my faces-config.xml > > ###### faces-config.xml ##### > <managed-bean> > <managed-bean-name>notificationSpringBean</managed-bean-name> > <managed-bean-class> > itecon.web.controller.NotificationHandler > </managed-bean-class> > <managed-bean-scope>session</managed-bean-scope> > <managed-property> > <property-name>pageLoad</property-name> > <value>true</value> > </managed-property> > </managed-bean> > > And last but not least my success.jspx. > > ####### success.jspx ###### > > <h:form id="form"> > <h:panelGrid columns="3" styleClass="parentTable" > headerClass="tableHeader" columnClasses="childTable"> > <f:facet name="header"> > <h:outputText id="closer" value="YIIPPIIEIIOOO > SCHWEINEBACKE" /> > </f:facet> > <h:inputHidden id="hiddenField" > value="#{notificationSpringBean.hiddenField}" /> > <x:messages id="globalMessage" layout="table" > showSummary="true" showDetail="false" /> > </h:panelGrid> > </h:form> > > > As attachement the result. > To proove it: > Here the extract of my Resources.properties > internalDatasetExists=Dataset already exists > > Try it, tell me If I am wrong, or if there better ways to do it. > > Regards Johannes > > ______________________________________________________________ > Verschicken Sie romantische, coole und witzige Bilder per SMS! > Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 > > > > > __________________________________________________________ Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min. weltweit telefonieren! http://freephone.web.de/?mc=021201

