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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]