Thank you all for your very quick answer, but I still have a problem.
1. I moved to 0.9.19bata. My setup is JDK 1.5, Tomcat 5.0.28 inside of
Jboss 4.0.1SP1 with EJB3Preview4
2. My HTML-page looks like this:
<P> <FORM id="wicket-datenForm">
<P> Text1: <input id="wicket-text1" type="text"
value="val1"/> </P>
<P> Text2: <input id="wicket-text2" type="text"
value="val2"/> </P>
<P> <input type="submit" value="speichern"/> </P>
</FORM></P>
3. I have a Class "Daten" like this:
package de.visionet.test;
import java.io.Serializable;
public class Daten implements Serializable {
private String text1;
private String text2;
public Daten() {}
public Daten (final Daten daten) {
this.text1 = daten.text1;
this.text2 = daten.text2;
}
public String getText1() {
return this.text1;
}
public void setText1(String text) {
this.text1 = text;
}
public String getText2() {
return this.text2;
}
public void setText2(String text) {
this.text2 = text;
}
}
3. I have a Custom validator
package de.visionet.test;
import wicket.markup.html.form.validation.CustomValidator;
public class DatumsValidator extends CustomValidator {
public static final long serialVersionUID = 1L;
public void onValidate(String value) {
if (value.equalsIgnoreCase("fehler"))
this.error();
}
}
4. And I have a Class for the form
package de.visionet.test;
import wicket.markup.html.form.Form;
import wicket.markup.html.form.TextField;
public class DatenForm extends Form {
public static final long serialVersionUID = 1L;
private final Daten daten = new Daten();
public DatenForm(final String componentName) {
super(componentName, null);
TextField text1 = new TextField("text1", daten,
"text1");
text1.add(new DatumsValidator());
add(text1);
add(new TextField("text2", daten, "text2"));
}
public final void onSubmit() {
System.out.println(">>>>>>>>>>\tDaten.text1 = "
+ daten.getText1());
System.out.println(">>>>>>>>>>\tDaten.text2 = "
+ daten.getText2());
}
}
5. The code works well until I enter "fehler" in the first input field
what causes "this.error()" in my validator "DatumsValidator";
The result in the browser window is
javax.servlet.ServletException: Wicket could not render page
wicket.RequestCycle.onRuntimeException(RequestCycle.java:596)
wicket.RequestCycle.render(RequestCycle.java:434)
wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:163)
wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:185)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:75)
root cause
wicket.WicketRuntimeException: Method public abstract void
wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of
interface IFormSubmitListener threw an exception
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav
a:403)
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav
a:421)
wicket.protocol.http.WebRequestCycle.callComponentListener(WebRequestCyc
le.java:330)
wicket.protocol.http.WebRequestCycle.onRender(WebRequestCycle.java:205)
wicket.RequestCycle.render(RequestCycle.java:429)
wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:163)
wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:185)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:75)
And on the server side
20:22:59,291 ERROR [Engine] StandardWrapperValve[WicketTest]:
Servlet.service() for servlet WicketTest threw exception
wicket.WicketRuntimeException: Method public abstract void
wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of
interface IFormSubmitListener threw an exception
at
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav
a:403)
at
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav
a:421)
at
wicket.protocol.http.WebRequestCycle.callComponentListener(WebRequestCyc
le.java:330)
at
wicket.protocol.http.WebRequestCycle.onRender(WebRequestCycle.java:205)
at wicket.RequestCycle.render(RequestCycle.java:429)
at
wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:163)
at
wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:185)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:75)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipa
lValve.java:66)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs
sociationValve.java:150)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j
ava:54)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.jav
a:394)
... 41 more
Caused by: java.util.MissingResourceException: Unable to find resource:
datenForm.text1.DatumsValidator
at wicket.Localizer.getString(Localizer.java:110)
at wicket.Localizer.getString(Localizer.java:212)
at
wicket.markup.html.form.validation.AbstractValidator.error(AbstractValid
ator.java:90)
at
wicket.markup.html.form.validation.AbstractValidator.error(AbstractValid
ator.java:117)
at
wicket.markup.html.form.validation.AbstractValidator.error(AbstractValid
ator.java:72)
at
de.visionet.test.DatumsValidator.onValidate(DatumsValidator.java:22)
at
wicket.markup.html.form.validation.StringValidator.onValidate(StringVali
dator.java:33)
at
wicket.markup.html.form.validation.AbstractValidator.validate(AbstractVa
lidator.java:150)
at
wicket.markup.html.form.FormComponent.validate(FormComponent.java:574)
at wicket.markup.html.form.Form$1.formComponent(Form.java:115)
at wicket.markup.html.form.Form$5.component(Form.java:416)
at
wicket.MarkupContainer.visitChildren(MarkupContainer.java:414)
at
wicket.markup.html.form.Form.visitFormComponents(Form.java:412)
at
wicket.markup.html.form.Form$DefaultFormValidationDelegate.validate(Form
.java:110)
at wicket.markup.html.form.Form.validate(Form.java:380)
at wicket.markup.html.form.Form.onValidate(Form.java:347)
at wicket.markup.html.form.Form.onFormSubmitted(Form.java:245)
Can anybody help ma any further?
Regards
Stefan Lindner
------------------------------------------------------------------------
--
Visionet GmbH, Am Weichselgarten 7, 91058 Erlangen
Tel.: (09131)691-230, FAX: (09131)691-111
E-Mail: mailto:[EMAIL PROTECTED], Internet:
http://www.visionet.de
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user