On Oct 23, 2008, at 10:12 AM, Shane Bryzak wrote:
A couple of our more vocal users have been pushing for JBSEAM-3609
and JBSEAM-2310 to be fixed, and while the issue is legitimate Pete
and I couldn't arrive at a definite conclusion as to how to
correctly address it. To summarise the problem, when a user has a
page with a menu containing a lot of links (each using s:link), each
of the page parameters defined in pages.xml for the views referenced
in the links cause instantiation of whatever Seam component is
configured in the parameter value. The main problem with this is the
performance hit from having to create so many components just to
render the links.
We identified two possible solutions - either introduce an
attributes in pages.xml which when set to true suppresses the
parameter values from being rendered, or introduce an additional
attribute in s:link and s:button which does a similar thing for that
link only. The advantage of controlling it in the view is that it
offers more flexibility, being that you can choose when to include
or exclude the parameter values. However, the real question is
which would be the more semantically correct place to control it.
Does anyone have any opinion either way about this?
It should be in the view, on the link. I can't see any way that
trying to put this in pages.xml makes sense.
Note that we already support this to some degree with <f:param
name="whatever" value="" />. It's very tedious to put this on
every
link, especially when you have multiple page parameters, so having an
easier way to set this on each particular link would be great.