blob: fc80869ea8c743ddd5e7ec5499c058022d8395e8 [file] [log] [blame]
<document>
<body>
<section name="Related Components">
<ul>
<li>
<a href="ActionLink.html">ActionLink</a>
</li>
<li>
<a href="EventLink.html">EventLink</a>
</li>
</ul>
</section>
<section name="Examples">
<p>
We're continuing with the example introduced in the
<a href="Grid.html">Grid</a>
examples.
</p>
<p>
The UserList page renders a series of page links, passing the user id as the context:
</p>
<subsection name="UserList.html (partial)">
<source><![CDATA[
<t:grid source="users" row="user" model="model">
<p:lastnamecell>
<t:pagelink page="user/view" context="user.id">${user.lastname}</t:pagelink>
</p:lastnamecell>
</t:grid>]]></source>
</subsection>
<subsection name="ViewUser.java">
<p>
The ViewUser page is responsible for converting that user id back into a User instance,
by providing an event handler method for the "activate" event.
</p>
<source><![CDATA[
public class ViewUser
{
private User user;
@Inject
private UserDAO userDAO;
public User getUser()
{
return user;
}
void onActivate(long userId)
{
user = userDAO.findById(userId);
}
}
]]></source>
</subsection>
<subsection name="ViewUser.tml">
<source><![CDATA[
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<body>
<h1>View User</h1>
<t:beandisplay object="user"/>
</body>
</html>]]></source>
<p>
Rendering out the User object, using a
<a href="BeanDisplay.html">BeanDisplay</a>
component, is easy, and the template doesn't have to know or
care about the page activation context; it just reads the user property.
</p>
</subsection>
</section>
</body>
</document>