Ron,
So if I have a method that retrieves the values for a page property, is
it best to put this method in every get/set that requires the property
to be set, or to have it placed just once in prepareForRender?
Cheers
Dan
Ron Piterman wrote:
You don't have to override renderPage for that. Infact what you do is
setting the property after thew page was rendered... so its a bit too
late ;-)
What you should do is pass the list as a parameter, rather than as a
property. Then, in your page you do:
<span jwcid="myComponent" categories="categories"/>
in the class, you implement
public List getCategories() {
getComponent(...).get...
}
Cheers,
Ron
ציטוט Vinicius Carvalho:
Hello there!
I have a page (Start.page) which has a List of categories objects.
This page has a component, with a nested component on it:
<span jwcid="@Border">
<span jwcid="groupPanel" blockNames="ognl:user.groupList">
<span jwcid="@CategoriesBorder"/>
</span>
</span>
User is also a property from my page. And the categoriesBorder:
<component-specification class="org.apache.tapestry.BaseComponent"
allow-body="yes" allow-informal-parameters="no">
<property-specification name="categories" type="java.util.List">
page.categories </property-specification>
</component-specification>
<span jwcid="@Foreach" source="ognl:categories" element="category">
<table border="0" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0"
width="85%" align="center">
<tr>
<td jwcid="@Any" element="td"
bgcolor="ognl:category.color" width="30%">
<span jwcid="@Insert" value="ognl:category.title"/>
</td>
<td></td>
</tr>
<tr>
<td jwcid="@Any" element="td"
bgcolor="ognl:category.color" width="100%">
<table cellspacing="1" width="100%">
<tr>
<td bgcolor="#FFFFFF" width="100%"> </td>
</tr>
</table>
</td>
</tr>
</table>
<p><br>
</span>
Problem is, the categories is empty, null...
The page that contains the component (Start.page) has renderPage
overriden
public void renderPage(IMarkupWriter arg0, IRequestCycle arg1) {
super.renderPage(arg0, arg1);
TabPanel tabPanel = (TabPanel)getComponent("groupPanel");
Group group = (Group)tabPanel.getSelectedBlock();
setCategories(getUserService().getCategories(group));
}
I've debug it and the catetories have been set properly. Any ideas?
Thanks
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
--
Regards,
*Dan Garland*
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
Tel: +44 (0) 207 803 1947
Mob: +44 (0) 7979 770053
ICQ: 120963437
AIM: dmgarland1767
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]