gpt4 book ai didi

java - 显示 Tapestry 网格组件的困难。 (Apache Tapestry 5 框架)

转载 作者:行者123 更新时间:2023-11-29 08:13:33 27 4
gpt4 key购买 nike

我想在 t:grid 组件中显示一个项目列表,但我不知道为什么我得到一个 NP

我 100% 确定我正在重新调整的列表不为空。这是调用访问数据的方法的页面的 java 部分:

public class MyTelephones {

@Property
@SessionState
private User user;

@Property
@Persist
private Telephone telephone;

@Property
@Inject
private UserDataAccess userDataAccess;

public List<Telephone> showTelephones() {
return userDataAccess.getUsersTelephones(user.getName());
}

这是带有应显示它们的标记的页面:

<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
<head>
<title>Show your telephones</title>
</head>
<body>
<h1>These are your telephones [${user.name}]</h1>
<t:grid source="${showTelephones()}" row="${telephone}"/>

<h3><t:pagelink t:page="Index">Go back!</t:pagelink></h3>

</body>
</html>

这是我得到的错误?

[ERROR] pages.MyTelephones Render queue error in BeginRender[MyTelephones:grid.rows]: Failure writing parameter 'row' of component MyTelephones:grid.rows: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException
org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid.rows: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at classpath:org/apache/tapestry5/corelib/components/Grid.tml, line 8]
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:194)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:246)
at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
at org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:127)
at $PageRenderQueue_1309430978d.render($PageRenderQueue_1309430978d.java)
at $PageRenderQueue_13094309785.render($PageRenderQueue_13094309785.java)
at org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:2089)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:2073)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:2055)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:2040)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:2026)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:2008)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1989)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at $MarkupRenderer_1309430978c.renderMarkup($MarkupRenderer_1309430978c.java)
at org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
at $PageMarkupRenderer_1309430978a.renderPageMarkup($PageMarkupRenderer_1309430978a.java)
at org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at $PageResponseRenderer_130943096d0.renderPageResponse($PageResponseRenderer_130943096d0.java)
at org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
at org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
at $PageRenderRequestHandler_130943096d2.handle($PageRenderRequestHandler_130943096d2.java)
at $PageRenderRequestHandler_130943096cc.handle($PageRenderRequestHandler_130943096cc.java)
at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at $ComponentRequestHandler_130943096cd.handlePageRender($ComponentRequestHandler_130943096cd.java)
at $ComponentRequestHandler_130943096b1.handlePageRender($ComponentRequestHandler_130943096b1.java)
at org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_130943096b3.dispatch($Dispatcher_130943096b3.java)
at $Dispatcher_130943096ae.dispatch($Dispatcher_130943096ae.java)
at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
at com.mirsad.services.AppModule$1.service(AppModule.java:96)
at $RequestFilter_130943096ad.service($RequestFilter_130943096ad.java)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at $RequestHandler_130943096a4.service($RequestHandler_130943096a4.java)
at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_130943096a6.service($HttpServletRequestHandler_130943096a6.java)
at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_130943096a3.service($HttpServletRequestFilter_130943096a3.java)
at $HttpServletRequestHandler_130943096a6.service($HttpServletRequestHandler_130943096a6.java)
at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
at $HttpServletRequestHandler_130943096a6.service($HttpServletRequestHandler_130943096a6.java)
at $HttpServletRequestHandler_130943096a1.service($HttpServletRequestHandler_130943096a1.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid.rows: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at classpath:org/apache/tapestry5/corelib/components/Grid.tml, line 8]
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:350)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.set(ParameterWorker.java:296)
at org.apache.tapestry5.corelib.components.GridRows._$set_row(GridRows.java)
at org.apache.tapestry5.corelib.components.GridRows.setupForRow(GridRows.java:283)
at org.apache.tapestry5.corelib.components.GridRows.beginRender(GridRows.java:304)
at org.apache.tapestry5.corelib.components.GridRows$MethodAccess_beginRender_13094309850.invoke(GridRows$MethodAccess_beginRender_13094309850.java)
at org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
at org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
at org.apache.tapestry5.corelib.components.GridRows.beginRender(GridRows.java)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:239)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:176)
... 81 more
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at org.apache.tapestry5.corelib.components.Grid.rows]
at org.apache.tapestry5.internal.bindings.PropBinding.set(PropBinding.java:76)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:346)
... 92 more
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at classpath:com/mirsad/pages/MyTelephones.tml, line 7]
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:350)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.set(ParameterWorker.java:296)
at org.apache.tapestry5.corelib.components.Grid._$set_row(Grid.java)
at org.apache.tapestry5.corelib.components.Grid.setRow(Grid.java:577)
at $PropertyConduit_13094309896.set($PropertyConduit_13094309896.java)
at org.apache.tapestry5.internal.bindings.PropBinding.set(PropBinding.java:72)
... 93 more
Caused by: java.lang.NullPointerException
at org.apache.tapestry5.internal.bindings.AbstractBinding.getBindingType(AbstractBinding.java:63)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:344)
... 98 more
[INFO] AppModule.TimingFilter Request time: 141 ms
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: Render queue error in BeginRender[MyTelephones:grid.rows]: Failure writing parameter 'row' of component MyTelephones:grid.rows: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException
org.apache.tapestry5.internal.services.RenderQueueException: Render queue error in BeginRender[MyTelephones:grid.rows]: Failure writing parameter 'row' of component MyTelephones:grid.rows: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at classpath:org/apache/tapestry5/corelib/components/Grid.tml, line 8]
at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:84)
at org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:127)
at $PageRenderQueue_1309430978d.render($PageRenderQueue_1309430978d.java)
at $PageRenderQueue_13094309785.render($PageRenderQueue_13094309785.java)
at org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:2089)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:2073)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:2055)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:2040)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:2026)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:2008)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1989)
at $MarkupRenderer_1309430978f.renderMarkup($MarkupRenderer_1309430978f.java)
at $MarkupRenderer_1309430978c.renderMarkup($MarkupRenderer_1309430978c.java)
at org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
at $PageMarkupRenderer_1309430978a.renderPageMarkup($PageMarkupRenderer_1309430978a.java)
at org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at $PageResponseRenderer_130943096d0.renderPageResponse($PageResponseRenderer_130943096d0.java)
at org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
at org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
at $PageRenderRequestHandler_130943096d2.handle($PageRenderRequestHandler_130943096d2.java)
at $PageRenderRequestHandler_130943096cc.handle($PageRenderRequestHandler_130943096cc.java)
at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at $ComponentRequestHandler_130943096cd.handlePageRender($ComponentRequestHandler_130943096cd.java)
at $ComponentRequestHandler_130943096b1.handlePageRender($ComponentRequestHandler_130943096b1.java)
at org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_130943096b3.dispatch($Dispatcher_130943096b3.java)
at $Dispatcher_130943096ae.dispatch($Dispatcher_130943096ae.java)
at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
at com.mirsad.services.AppModule$1.service(AppModule.java:96)
at $RequestFilter_130943096ad.service($RequestFilter_130943096ad.java)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
at $RequestHandler_130943096af.service($RequestHandler_130943096af.java)
at $RequestHandler_130943096a4.service($RequestHandler_130943096a4.java)
at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_130943096a6.service($HttpServletRequestHandler_130943096a6.java)
at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_130943096a3.service($HttpServletRequestFilter_130943096a3.java)
at $HttpServletRequestHandler_130943096a6.service($HttpServletRequestHandler_130943096a6.java)
at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
at $HttpServletRequestHandler_130943096a6.service($HttpServletRequestHandler_130943096a6.java)
at $HttpServletRequestHandler_130943096a1.service($HttpServletRequestHandler_130943096a1.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid.rows: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at classpath:org/apache/tapestry5/corelib/components/Grid.tml, line 8]
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:194)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:246)
at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
... 79 more
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid.rows: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at classpath:org/apache/tapestry5/corelib/components/Grid.tml, line 8]
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:350)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.set(ParameterWorker.java:296)
at org.apache.tapestry5.corelib.components.GridRows._$set_row(GridRows.java)
at org.apache.tapestry5.corelib.components.GridRows.setupForRow(GridRows.java:283)
at org.apache.tapestry5.corelib.components.GridRows.beginRender(GridRows.java:304)
at org.apache.tapestry5.corelib.components.GridRows$MethodAccess_beginRender_13094309850.invoke(GridRows$MethodAccess_beginRender_13094309850.java)
at org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
at org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
at org.apache.tapestry5.corelib.components.GridRows.beginRender(GridRows.java)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:239)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:176)
... 81 more
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at org.apache.tapestry5.corelib.components.Grid.rows]
at org.apache.tapestry5.internal.bindings.PropBinding.set(PropBinding.java:76)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:346)
... 92 more
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure writing parameter 'row' of component MyTelephones:grid: java.lang.NullPointerException [at classpath:com/mirsad/pages/MyTelephones.tml, line 7]
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:350)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.set(ParameterWorker.java:296)
at org.apache.tapestry5.corelib.components.Grid._$set_row(Grid.java)
at org.apache.tapestry5.corelib.components.Grid.setRow(Grid.java:577)
at $PropertyConduit_13094309896.set($PropertyConduit_13094309896.java)
at org.apache.tapestry5.internal.bindings.PropBinding.set(PropBinding.java:72)
... 93 more
Caused by: java.lang.NullPointerException
at org.apache.tapestry5.internal.bindings.AbstractBinding.getBindingType(AbstractBinding.java:63)
at org.apache.tapestry5.internal.transform.ParameterWorker$2$1.writeToBinding(ParameterWorker.java:344)
... 98 more
127.0

怎么了,我是否正确调用了 showTelephones() 方法?

有没有其他方法可以将参数 user.name 传递给方法 getUsersTelephones(),但从标记页面内传递?

最佳答案

问题出在你的符号上。您的模板应该是:

<t:grid source="showTelephones" row="telephone"/>

你的 java 应该是:

public class MyTelephones {

@Property
@SessionState
private User user;

@Property
private Telephone telephone;

@Property
@Inject
private UserDataAccess userDataAccess;

public List<Telephone> getShowTelephones() {
return userDataAccess.getUsersTelephones(user.getName());
}

由于网格位于 Tapestry 命名空间中,因此您不需要使用 ${}。我有点困惑为什么 Tapestry 不提示你的符号并抛出 NPE,但我很确定这会为你解决它。

PS:@Persist'ing 你的行值不是一个好主意,因为它只会保留你表中的最新行。

关于java - 显示 Tapestry 网格组件的困难。 (Apache Tapestry 5 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6361481/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com