2011-02-15 21 views
0

我一直试图从wicketstuff.org合并MultiFileUpload示例,但无法找到org.apache.wicket.mfu.delete的资源。原始代码可以在上面的链接找到,我现在已经省略了我的代码,但如果它有帮助,可以包含它。对丢失的包的调用发生在org.apache.wicket.markup.html.form.upload.MultiFileUploadField.java的renderHead()方法中,该方法是只读的。我正在使用wicket-1.3.1.jar。我在下面的代码中调用org.apache.wicket.markup.html.IHeaderContributor中的renderHead()方法。无法找到来自WicketStuff的资源org.apache.wicket.mfu.delete:MultiFileUploadField.java

任何帮助将不胜感激。

add(new HeaderContributor(new IHeaderContributor() { 
     @Override 
     public void renderHead(IHeaderResponse response) { 
      response.renderOnLoadJavascript("document.getElementById('" + summaryField.getMarkupId() + "').focus()"); 
     } 
    })); 

和明年是我的电话,以MultiFileUploadField()式中,似乎是产生这些问题的renderHead()方法所在。

add(new MultiFileUploadField("fileInput", new PropertyModel(this, "uploads"), 5)); 

最后是这样的堆栈跟踪:

2011-02-15 10:46:25,233 [http-8080-2] DEBUG [info.jtrac.wicket.JtracApplication] - i18n failed for key: 'org.apache.wicket.mfu.delete', Class: class org.apache.wicket.markup.html.form.upload.MultiFileUploadField, Style: null, Exception: org.springframework.context.NoSuchMessageException: No message found under code 'org.apache.wicket.mfu.delete' for locale 'en'. 
2011-02-15 10:46:25,233 [http-8080-2] ERROR [org.apache.wicket.RequestCycle] - Exception in rendering component: [MarkupContainer [Component id = _header_0, page = info.jtrac.wicket.ItemFormPage, path = 4:_header_0.HtmlHeaderContainer, isVisible = true, isVersioned = true]] 
org.apache.wicket.WicketRuntimeException: Exception in rendering component: [MarkupContainer [Component id = _header_0, page = info.jtrac.wicket.ItemFormPage, path = 4:_header_0.HtmlHeaderContainer, isVisible = true, isVersioned = true]] 
     at org.apache.wicket.Component.renderComponent(Component.java:2497) 
     at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354) 
     at org.apache.wicket.Component.render(Component.java:2296) 
     at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:222) 
     at org.apache.wicket.markup.resolver.HtmlHeaderResolver.resolve(HtmlHeaderResolver.java:78) 
     at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1267) 
     at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1370) 
     at org.apache.wicket.Page.onRender(Page.java:1446) 
     at org.apache.wicket.Component.render(Component.java:2296) 
     at org.apache.wicket.Page.renderPage(Page.java:891) 
     at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:231) 
     at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103) 
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1172) 
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1241) 
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316) 
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) 
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) 
     at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 
     at 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:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) 
     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) 
     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.util.MissingResourceException: Unable to find resource: org.apache.wicket.mfu.delete for component: form:fileInput [class=org.apache.wicket.markup.html.form.upload.MultiFileUploadField] 
     at org.apache.wicket.Localizer.getString(Localizer.java:262) 
     at org.apache.wicket.Localizer.getString(Localizer.java:112) 
     at org.apache.wicket.Component.getString(Component.java:1787) 
     at org.apache.wicket.Component.getString(Component.java:1774) 
     at org.apache.wicket.markup.html.form.upload.MultiFileUploadField.renderHead(MultiFileUploadField.java:202) 
     at org.apache.wicket.Component.renderHead(Component.java:2532) 
     at org.apache.wicket.markup.html.form.FormComponentPanel.renderHead(FormComponentPanel.java:183) 
     at org.apache.wicket.markup.html.internal.HtmlHeaderContainer$1.component(HtmlHeaderContainer.java:212) 
     at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:821) 
     at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:836) 
     at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:861) 
     at org.apache.wicket.markup.html.internal.HtmlHeaderContainer.renderHeaderSections(HtmlHeaderContainer.java:203) 
     at org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:136) 
     at org.apache.wicket.Component.renderComponent(Component.java:2459) 
     ... 36 more 

回答

1

根据错误信息没有在.properties文件中定义为multifileupload领域的delete串串。

我想,你需要定义你的Application.properties这一个(一个属性具有相同名称的文件作为Application类,但其扩展的.properties),使用的语法如下:

org.apache.wicket.mfu.delete=remove 
+1

谢谢!我能够追踪到缺少资源键,但不知道在哪里启动这些变量。我会在下次可用时尝试解决您的问题。另外,感谢“Wicket In Action”书。我一直在努力通过它,并发现它是一个有趣的阅读和写得很好。 – OnesAndZeros 2011-02-16 22:19:55