Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.0.10
-
None
Description
createActionLink cause exception when it is called in the page class(see onActionFromDelete), but works when it is called from the template, this works in 5.0.6 and 7, but fails in 5.0.9 and 5.0.10, sample code and error follows:
public class TestPage1 {
@Inject
private ComponentResources resources;
private Object[] _objs;
public Class onActivate(Object[] obj)
public Object[] onPassivate()
{ return _objs;}Link onActionFromDelete(Long id)
{ String x = getTheLink(); // this fails with exception return null; }public String getTheLink()
{ Link l = resources.createActionLink("DeleteConfirm", false); return l.toURI(); }public Object onDeleteConfirm(Long id)
{ return null; }}
template:
<body>
<t:ActionLink t:id="Delete" context="1">Delete me</t:ActionLink><br />
<p>My Link is : ${theLink}</p>
</body>
errors:
java.lang.NullPointerException
Stack trace
- org.apache.tapestry.internal.services.LinkFactoryImpl.collectActivationContextForPage(LinkFactoryImpl.java:217)
- org.apache.tapestry.internal.services.LinkFactoryImpl.createActionLink(LinkFactoryImpl.java:129)
- org.apache.tapestry.internal.structure.PageImpl.createActionLink(PageImpl.java:156)