[Seaside] User input and component state update via GET
renggli at gmail.com
Mon Jun 29 17:04:57 UTC 2009
> However, because I retain the _s and _k parameters, I can't use
> #initialRequest to parse the 'barcodeno' parameter from the GET
> request. This isn't quite the same as the problems that Ramon Leon
> addressed in his 'Clean URLs' and 'Stateless Sitemap' articles.
> Essentially, I need a regular session/continuation-based Seaside app,
> with a couple of components that capture input via GET, but which
> still allow a call/answer approach.
Have a look at the implementation of WATask>>updateRoot:. Instead of
doing a redirect you just create your meta-tag. And you replace the
callback block with the code that handles the request.
I would try something along the following lines:
| callbacks url |
callbacks := WACallbackRegistry context: aHtmlRoot context owner: self.
url := aHtmlRoot context actionUrl withParameter: (callbacks
registerActionCallback: [ self metaHandler ]).
content: url asString ,
| request id |
request := self session currentRequest.
id := request at: 'barcodeno' ifAbsent: [ ^ self inform: 'Error' ].
self call: (BCProductView on: id)
Does that help?
More information about the seaside