Hi people,
¿What is the Wicket's way of adding component level feedback panels? I
mean, having one feedback panel for each form component (on a side or
below the field), and somehow a global feedback panel with a filter so
that it doesn't show the already showed messages.
I tried the following:
public class BordeFeedbackPanel extends Border implements IFeedback {
public BordeFeedbackPanel(final String id) {
super(id);
add(new ComponentFeedbackPanel("feedback", this));
}
}
<wicket:border>
<wicket:body />
<div wicket:id="feedback">
Invalid field
</div>
</wicket:border>
And in the form:
add(new BordeFeedbackPanel("brd1").add(TextField<String>(...
But I get a horrible exception!... :(
Unexpected RuntimeException
Root cause:
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at org.apache.wicket.Component.prepareForRender(Component.java:2236)
at org.apache.wicket.Component.prepareForRender(Component.java:2260)
at org.apache.wicket.Page.renderPage(Page.java:893)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:262)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:468)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:301)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:295)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
What is happening? How can I achieve this?
Thanks,
Tom;
PS: I've already done it using a Label for each component instead of a
FeedbackPanel and it worked, but now trying another (more proper) approach.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]