You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Max Grigoriev <da...@mail.ru> on 2003/09/29 18:18:38 UTC
Block question
Hello tapestry-user,
I've got actions and content for this actions on a page.
Html:
<table width="100%" border="0" cellpadding="3" cellspacing="0" class="fbBGreenTable">
<tr>
<td width="20%">
<table width="20%" border="0" cellpadding="3" cellspacing="0">
<tr jwcid="@Foreach" source="ognl:bean.actions" value="ognl:bean.currentAction" element="tr">
<td>
<a jwcid="@DirectLink" listener="ognl:listeners.action" parameters="ognl:bean.currentAction">
<span jwcid="@Insert" value="ognl:bean.actionTitle">Add company</span></a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="80%">
<span jwcid="@RenderBlock" block="ognl:components[bean.selectedAction]"/>
</td>
</tr>
</table>
Page spec:
<component id="AddCompany" type="AddCompany"/>
<component id="ShowStatistic" type="ShowStatistic"/>
Bean for page:
public class ActionBean {
public static final String[] ACTIONS = new String[] {
Constant.ADMIN_SHOW_STATISTIC, Constant.ADMIN_ADD_COMPANY,
Constant.ADMIN_EDIT_COPANY
};
public static final Map actionTitles = new HashMap();
static {
actionTitles.put(Constant.ADMIN_ADD_COMPANY, "Add");
actionTitles.put(Constant.ADMIN_EDIT_COPANY, "Edit");
}
//set and get
private String currentAction = Constant.ADMIN_SHOW_STATISTIC;
//et and get
private String selectedAction = Constant.ADMIN_SHOW_STATISTIC;
public String[] getActions() {
return ACTIONS;
}
public String getActionTitle() {
return (String) actionTitles.get(getCurrentAction());
}
}
One of action:
public class ShowStatistic extends Block {
public int getTotalOrganizations() throws MiddleException {
return OrganizationHome.getOrganizationsNumber(null);
}
public int getTotalUsers() {
return 0;
}
public void renderBody(IMarkupWriter iMarkupWriter, IRequestCycle iRequestCycle) {
System.out.println("***********************************");
super.renderBody(iMarkupWriter, iRequestCycle);
}
}
Html:
<span jwcid="$content$">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Total registered organization: <span jwcid="@Insert" value="ognl:totalOrganizations"/></td>
</tr>
<tr>
<td><img src="/images/z.gif" width="1" height="10"/></td>
</tr>
<tr>
<td>Total users: <span jwcid="@Insert" value="ognl:totalUsers"/></td>
</tr>
</table>
</span>
Spec:
<component-specification class="com.clearview.feedback.web.component.admin.ShowStatistic"
allow-body="yes" allow-informal-parameters="no">
<description>show statistic component</description>
</component-specification>
but action block component hasn't been rendered. I see that renderBody
method is invoked, but i don't get any output html from this
component.
Where am i wrong ?
Thank's
--
Best regards,
Max mailto:darkit@mail.ru
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org