WICKET:使用DatePicker时,无法使用构造函数实例化页面

时间:2014-08-22 09:53:30

标签: java constructor datepicker wicket

这次我将DatePicker放在我的wicket页面上有问题。

我的代码如下:

public class StateDB extends BasePage {
    private Date date = new Date();
    public StateDB() {
        Form form = new Form("form");
        DateTextField birthDate = new DateTextField("birthDate", new PropertyModel<Date>(
                this, "date"), new StyleDateConverter("S-", true));
        PickDate datePicker = new PickDate();
        datePicker.setShowOnFieldClick(true);
        datePicker.setAutoHide(true);
        birthDate.add(datePicker);
        form.add(birthDate);  
        add(form);
    }
}

当我在服务器上运行它并链接到此页面时,我得到例外:

Last cause: org.apache.wicket.markup.head.HeaderItem
WicketMessage: Can't instantiate page using constructor 'public kz.company.myPackage.controller.StateDB()'. Might be it doesn't exist, may be it is not visible (public).

但是你可以看到我班级的构造函数是公开的

public StateDB() {

有stacktrace

Complete stack:

org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor 'public kz.company.myPackage.controller.StateDB()'. Might be it doesn't exist, may be it is not visible (public).
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:196)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:68)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47)
     at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
     at org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
     at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
     at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
     at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
     at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
     at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
     at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)

java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
     at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:177)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:68)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47)
     at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
     at org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
     at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
     at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
     at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
     at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
     at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
     at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)

java.lang.NoClassDefFoundError: org/apache/wicket/markup/head/HeaderItem
     at kz.company.myPackage.controller.StateDB.<init>(StateDB.java:72)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:177)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:68)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47)
     at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
     at org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
     at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
     at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
     at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
     at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
     at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
     at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)

1 个答案:

答案 0 :(得分:0)

构造函数中出现了问题。当在构造函数中抛出异常时,Wicket会捕获它显示该消息。该字段的日期是&#39;有一个吸气剂和二传手?这些是DateTextField中的PropertyModel所必需的。