[
https://issues.apache.org/jira/browse/TAP5-983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12799723#action_12799723
]
Stephan Windmüller commented on TAP5-983:
-----------------------------------------
I created a minimal page which shows the error in Tapestry 5.1.0:
TestObject.java:
public class TestObject {
private String test;
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
TestPage.java:
import org.apache.tapestry5.annotations.Property;
public class TestPage {
@Property
private TestObject testObject;
void onPrepare() {
testObject = new TestObject();
testObject.setTest("Test String");
}
}
TestPage.tml:
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
<head>
<title>Test Page</title>
</head>
<body>
<t:form>
<t:beandisplay object="testObject"/>
<t:submit/>
</t:form>
</body>
</html>
StackTrace after submitting the form:
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure
reading parameter 'source' of component TestPage:beandisplay.loop: Property
'model' (within property expression 'model.propertyNames', of
org.apache.tapestry5.corelib.components.beandisp...@162595) is null. [at
classpath:org/apache/tapestry5/corelib/components/BeanDisplay.tml, line 4]
at
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:495)
at
org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:378)
at
org.apache.tapestry5.corelib.components.Form$onAction$invocation_12627b12cc9.invokeAdvisedMethod(Form$onAction$invocation_12627b12cc9.java)
at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71)
at
org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
at
org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
at
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80)
at org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
at
org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:910)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1081)
... 55 more
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure
reading parameter 'source' of component TestPage:beandisplay.loop: Property
'model' (within property expression 'model.propertyNames', of
org.apache.tapestry5.corelib.components.beandisp...@162595) is null. [at
classpath:org/apache/tapestry5/corelib/components/BeanDisplay.tml, line 4]
at
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.read(InternalComponentResourcesImpl.java:516)
at
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.read(InternalComponentResourcesImpl.java:496)
at
org.apache.tapestry5.corelib.components.Loop._$read_parameter_source(Loop.java)
at
org.apache.tapestry5.corelib.components.Loop.setupForVolatile(Loop.java:358)
at org.apache.tapestry5.corelib.components.Loop.access$100(Loop.java:44)
at org.apache.tapestry5.corelib.components.Loop$2.execute(Loop.java:75)
at org.apache.tapestry5.corelib.components.Loop$2.execute(Loop.java:79)
at
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:480)
... 65 more
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Property
'model' (within property expression 'model.propertyNames', of
org.apache.tapestry5.corelib.components.beandisp...@162595) is null. [at
classpath:org/apache/tapestry5/corelib/components/BeanDisplay.tml, line 4]
at
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:62)
at
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.read(InternalComponentResourcesImpl.java:510)
... 72 more
Caused by: java.lang.NullPointerException: Property 'model' (within property
expression 'model.propertyNames', of
org.apache.tapestry5.corelib.components.beandisp...@162595) is null.
at
org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.nullTerm(PropertyConduitSourceImpl.java:1256)
at
$PropertyConduit_12627b119a9.navigate($PropertyConduit_12627b119a9.java)
at $PropertyConduit_12627b119a9.get($PropertyConduit_12627b119a9.java)
at
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:58)
... 73 more
> CLONE -NPE in BeanDisplay if used in a form with a default model
> ----------------------------------------------------------------
>
> Key: TAP5-983
> URL: https://issues.apache.org/jira/browse/TAP5-983
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.0.15
> Reporter: Stephan Windmüller
> Priority: Minor
>
> Create something like this:
> <t:form>
> <t:beandisplay object="foo" include="bar" />
> </t:form>
> and submit the form. You get a NPE in beandisplay. The workaround is to
> create the model yourself.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.