Hi Maciej,

The request path is used by Magnolia to resolve the content to render. Magnolia 
then renders that content by invoking Blossom. The path specified in the 
@RequestMapping annotation is not matched against the actual request path. If 
it was your template would only be usable on paths starting with 'news/'.

You cannot use @PathVariable in @Template controllers.

It is however perfectly possible to achieve what you're trying to do. There's 
two ways you can do this and which to choose depends on if you need to have an 
actual page in repository or not.

You can have an additional DispatcherServlet that takes care of these request 
without involving the Magnolia rendering chain. For details on how to do this 
have a look at 
https://documentation.magnolia-cms.com/display/DOCS/Blossom+module#Blossommodule-AdditionalDispatcherServletsandAJAXcalls

The other option is using a virtual uri mapping. If you're familiar with the 
term URL rewriting then know that this is the same concept. The request is 
processed by a virtual uri mapping that sees the parameters, and stores them 
somewhere, as request attributes for instance.Then directs the request into the 
Magnolia rendering chain targeting a page using your template. Your template 
would simply use: @RequestMapping("news") and fetch the parameters from request 
attributes. Be aware though that the template needs to render even without 
those attributes because it will be possible for editors to open the pages in 
the Pages app.

Hope that helps, Tobias

-- 
Context is everything: 
http://forum.magnolia-cms.com/forum/thread.html?threadId=c3bd3743-3ead-4818-8b65-cf3506fc0552


----------------------------------------------------------------
For list details, see http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <user-list-unsubscr...@magnolia-cms.com>
----------------------------------------------------------------

Reply via email to