[prev in list] [next in list] [prev in thread] [next in thread]
List: tapestry-user
Subject: Re: Dynamic pages (or: arguments to pages) [T4]
From: Kaspar Fischer <fischerk () inf ! ethz ! ch>
Date: 2007-11-28 23:31:19
Message-ID: E9AFACB3-5EF2-4694-9A83-E51A31D45024 () inf ! ethz ! ch
[Download RAW message or body]
Unfortunately, my solution does not really work yet. My page
uses
@InjectObject("infrastructure:request")
public abstract WebRequest getRequest();
public void pageBeginRender(PageEvent event)
{
super.pageBeginRender(event);
WebRequest request = getRequest();
id = request.getParameterValue("id")); // (*)
}
to read the Id of the page to display. This indeed works:
http://localhost/app?id=someid
results in id from (*) being set to "someid".
I now wanted to support friendly URLs and wrote a ServiceEncoder
whose decode() method extracts the Id form a URL like
http://localhost/node/id.html
and sets it:
public void decode(ServiceEncoding encoding)
{
// ...
String id = // ...
encoding.setParameterValue(ServiceConstants.SERVICE,
Tapestry.PAGE_SERVICE);
encoding.setParameterValue(ServiceConstants.PAGE, _className);
encoding.setParameterValue("id", id);
}
But although the variable encoding contains the parameter "id"
with its value (I verifed this), the page's pageBeginRender() from
above receives null.
I feel I misunderstand something here. Why are parameters not
passed on to the page request?
Many thanks,
Kaspar
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic