We have a page where we are being required to have multiple feedback panels,
and to show messages in various ones depending on the error.  Our solution
was to use message filters and to put the messages against certain
containers to say 'any message in container X goes to feedback panel X'.  

You can see the code below for example.  The request thing is just to set
the class of the feedbackpanel to a different value.  But we also control
the visibility of the panel by checking 'anyMessage()'.  So if there's no
errors, no feedback shows.  

This all works...except on the first request.  For some reason when I click
the button, I can see the error (it's added during the onSubmit(), not
during the normal validation step if that makes a difference) added to the
assetLookupOptionsWMC, but then when anyMessage() runs, it doesn't find the
error.  Click the button a second time, and it works perfectly.

Any idea why?

                assetLookupOptionsFP.setFilter(new IFeedbackMessageFilter(){
                        private static final long serialVersionUID = 1L;

                        @Override
                        public boolean accept(FeedbackMessage msg) {
                                Component reporter = msg.getReporter();
                                HttpServletRequest request = 
((HttpServletRequest)
getRequest().getContainerRequest());
                                
                                if 
(reporter.getId().equals("assetLookupOptionsWMC")){
                                        if(msg.isError())
                                                
request.setAttribute("assetLookupOptionsFeedbackPanelHasError",
"TRUE");
                                        return true;
                                } else if
(reporter.getParent().getId().equals("assetLookupOptionsWMC")){
                                        if(msg.isError())
                                                
request.setAttribute("assetLookupOptionsFeedbackPanelHasError",
"TRUE");
                                        return true;
                                } else {
                                        return false;
                                }
                        }
                        
                });

--
Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-f1842947.html

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to