2011-02-15 1 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() 메소드가있는 것입니다. multifileupload 필드의 delete 문자열에 대한 .properties의 파일에 정의 된 문자열이없는 오류 메시지에 따르면

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

:

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

그리고 마침내이 스택 트레이스입니다.

난 당신이 (확장자 .properties 파일이있는 특성 당신의 Application 클래스와 같은 이름을 가진 파일 만) 귀하의 Application.properties이 하나를 정의 할 필요가 상상, 다음 구문을 사용하여 :

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

감사합니다! 누락 된 리소스 키까지 추적 할 수 있었지만 이러한 변수를 어디에서 시작할 것인지 전혀 알 수 없었습니다. 다음 번 가용성을 위해 솔루션을 제공 할 것입니다. 또한 'Wicket In Action'서적에 감사드립니다. 나는 그것을 통해 자신의 길을 일하고 있으며 그것이 재미 있고 읽기 쉬워 보이기를 바랍니다. – OnesAndZeros

+0

@Martijn, 고맙습니다! (놀랄 일도 아니고 단지 흥분된). 필자는 Jtrac 프로젝트 (Peter Thomas의 호의)를 구축하고 Application.properties 파일은 messages.properties라는 이름을 갖게되었습니다. – OnesAndZeros