I am using tiles.  So the jsf page is actually
included with a tiles:insert tag.  Here is most of the
template JSP.  The message would be part of the body
JSP.  Are you using tiles?

        <f:view>
                <h:form id="pageForm">
                        <body>
                                <table width="100%" cellpadding="0"
cellspacing="0">
                                        <tbody>
                                                <tr>
                                                        <td colspan="2" 
id="header">
                                                                <f:subview 
id="header">
                                                                        
<tiles:insert attribute="header"
flush="false"/>
                                                                </f:subview>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td id="menu" 
valign="top">
                                                                <f:subview 
id="menu">
                                                                        
<tiles:insert attribute="menu" flush="false"
/>
                                                                </f:subview>
                                                        </td>
                                                        <td id="body" 
valign="top">
                                                                <f:subview 
id="body">
                                                                        
<tiles:insert attribute="body"
flush="false"/>
                                                                </f:subview>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td colspan="2" 
id="footer">
                                                                <f:subview 
id="footer">
                                                                        
<tiles:insert attribute="footer"
flush="false"/>
                                                                </f:subview>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>
                        </body>
                </h:form>
        </f:view>


--- Robert Breidecker <[EMAIL PROTECTED]> wrote:

> The example I gave you is working for me.  I'm
> curious
> as to why you are getting the exception.  Is the
> "messages" tag nested under a "view" tag?
> 
> 
> --- Ray Clark <[EMAIL PROTECTED]> wrote:
> 
> > Hi Rob, thanks for trying, but this didn't seem to
> > help.
> > 
> > I changed the code to be like this:
> > 
> >
> FacesContext.getCurrentInstance().addMessage("body",
> > 
> >     new FacesMessage(FacesMessage.SEVERITY_ERROR,
> >             "summary message", "detail message"));
> > 
> > When I put the messages tag in my page like you
> > suggest:
> > 
> > <h:messages id="body" layout="table"
> > styleClass="message" showSummary="true"
> > showDetail="false"/>
> > 
> > I get a "java.lang.IllegalStateException: parent
> is
> > null?" exception.
> > 
> > When I leave the id attribute off, it doesn't
> throw
> > an
> > exception but of course it doesn't work either.
> > 
> > So I tried this:
> > 
> > <h:message for="body" showSummary="true"
> > showDetail="true"/>
> > 
> > This doesn't show a message either.  It doesn't
> > throw
> > an exception, it just doesn't seem to do anything.
> > 
> > I know the message is getting into the context
> > because
> > I can execute this and the message gets printed
> out.
> > 
> > Iterator iter =
> > FacesContext.getCurrentInstance().getMessages();
> > while (iter.hasNext()) {
> >     FacesMessage msg = (FacesMessage) iter.next();
> >     System.out.println("severity=" +
> msg.getSeverity()
> >             + ", summary=" + msg.getSummary()
> >             + ", detail=" + msg.getDetail());
> > }
> > 
> > I was using null instead of "body" because I
> thought
> > I
> > read in the javadoc that null meant that it was a
> > global message.  But changing it to null and
> adding
> > the globalOnly="true" attribute to the messages
> tag
> > didn't do a think either.
> > 
> > Anybody got any other ideas?
> > 
> > Surely people are using h:message or h:messages to
> > put
> > out messages to the users from a method other than
> a
> > converter or validator.
> > 
> > I'm using MyFaces 1.0.8, what are you using Rob?
> > 
> > Thanks,
> > Ray
> > 
> > --- Robert Breidecker <[EMAIL PROTECTED]>
> wrote:
> > > Ray,
> > > 
> > > You need to set the client id when adding the
> > > message
> > > to FacesContext.
> > > 
> > > The last line in your code example would be...
> > > context.addMessage("myClientId", message);
> > > 
> > > Your JSP messages tag would be...
> > > <h:messages id="myClientId" layout="table"
> > > styleClass="message" showSummary="true"
> > > showDetail="false"/>
> > > 
> > > Hope this helps.
> > > 
> > > Rob Breidecker
> > > 
> > > 
> > > 
> > > 
> > > --- Ray Clark <[EMAIL PROTECTED]> wrote:
> > > > I have a method in a managed bean that is
> > getting
> > > > called.  I wish to put a message on the page
> to
> > > > inform
> > > > the user that the operation that he/she
> > requested
> > > > was
> > > > performed correctly.  I can successfully do
> this
> > > > with
> > > > a variable in the managed bean.  My problem is
> > > that
> > > > I
> > > > was wanting to use the built in FacesMessage
> > class
> > > > for
> > > > this if possible.  Here is my code to add my
> > > > message:
> > > > 
> > > > FacesMessage message = new FacesMessage();
> > > >
> > message.setSeverity(FacesMessage.SEVERITY_ERROR);
> > > > message.setSummary("Add was successful");
> > > > message.setDetail("Add was successful");
> > > > FacesContext context =
> > > > FacesContext.getCurrentInstance();
> > > > context.addMessage(null, message);
> > > > 
> > > > It does add the message to the context because
> I
> > > can
> > > > use System.out to print it out right after
> that.
> > 
> > > > The
> > > > problem is that the message doesn't display on
> > the
> > > > page.  I do get other Faces messages displayed
> > so
> > > I
> > > > don't believe it is a problem with the JSP. 
> I'm
> > > > wondering if FacesMessage was not designed to
> be
> > > > used
> > > > like this.  Is FacesMessage only designed to
> be
> > > used
> > > > in the converter and validator?
> > > > 
> > > > Has anyone else been able to put a message in
> > the
> > > > context and been able to print it out on the
> > page?
> > > > 
> > > > Here is my JSP snippet.
> > > > 
> > > > <h:messages layout="table"
> styleClass="message"
> > > > showSummary="true" showDetail="false"/>
> > > > <h:messages layout="table"
> styleClass="message"
> > > > showSummary="false" showDetail="true"/>
> > > > 
> > > > 
> > > > Thanks,
> > > > Ray
> > > > 
> > > > 
> > > >                 
> > > > __________________________________ 
> > > > Do you Yahoo!? 
> > > > Make Yahoo! your home page 
> > > > http://www.yahoo.com/r/hs
> > > > 
> > > 
> > > 
> > >           
> > > __________________________________ 
> > > Do you Yahoo!? 
> > > Make Yahoo! your home page 
> > > http://www.yahoo.com/r/hs
> > > 
> > 
> > 
> >             
> > __________________________________ 
> > Do you Yahoo!? 
> > Yahoo! Small Business - Try our new resources
> site!
> > http://smallbusiness.yahoo.com/resources/
> > 
> 
> 
> 
=== message truncated ===



                
__________________________________ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/

Reply via email to