我无法确定 Wicket 应用程序中 RuntimeException 的原因。我设置了许多断点,但是当我提交表单时,没有一个会触发,只有在表单加载时才会触发。这是堆栈:
WicketMessage:没有为类定义获取方法:类 this.is.my.class.WicketDocumentModel 表达式:DocumentUpload
根本原因:
org.apache.wicket.WicketRuntimeException:没有为类定义获取方法:类 this.is.my.class.WicketDocumentModel 表达式:在 org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:445) 处的 DocumentUpload org.apache.wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:90) 在 org.apache.wicket.model 的 org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:287)。 AbstractPropertyModel.getObject(AbstractPropertyModel.java:117) 在 org.apache.wicket.Component.getDefaultModelObject(Component.java:1664) 在 org.apache.wicket.Component$3.compare(Component.java:548) 在 org.apache。 org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1168) 上 org.apache.wicket.markup.html.form.upload 上的 wicket.Component.setDefaultModelObject(Component.java:3049)。FileUploadField.updateModel(FileUploadField.java:100) 在 org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:225) 在 org.apache.wicket.markup.html.form.FormComponent。 visitComponentsPostOrderHelper(FormComponent.java:514) at org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493) at org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent. java:465) 在 org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:2051) 在 org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:2019)在 org.apache.wicket.markup.html.form.Form.process(Form.java:984) 在 org.apache.wicket.markup.html.form.Form.process(Form.java:911) 在 org.apache .wicket.markup.html.form.Form.onFormSubmitted(Form.java:876) 在 java.lang。org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:182) 的 reflect.Method.invoke(Method.java:597) org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget. java:73) 在 org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250) 在 org.apache.wicket.RequestCycle.step 的 org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92) (RequestCycle.java:1329) 在 org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428) 在 org.apache.wicket.RequestCycle.request(RequestCycle.java:545) 在 org.apache.wicket.protocol。 http.WicketFilter.doGet(WicketFilter.java:456) 在 org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:289) 在 org.apache.catalina.core。ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org .apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve .java:102) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.jk。 server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) 在 org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) 在 org.apache.jk.common.ChannelSocket。在 org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) 在 org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) 在 org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) 调用(ChannelSocket.java:767) .apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) 在 java.lang.Thread.run(Thread.java:619)
我确实在这里找到了关于类似问题的讨论,但我还没有完全能够将那里提出的建议变成适合我情况的解决方案。我的类不包含名为 DocumentUpload 的 Java 变量,但包含以下内容:
fuf = new FileUploadField("DocumentUpload");