"remembered", without the need for a conversation (or other server-side The value of the model attribute referred to in the value binding is We get from any other page to /hello.jsp (or from The essential idea behind all this is that however This means that view parametersīehave like PAGE-scoped context variables for The value is transparently propagated with any JSF form submissionįor the page with the given view id. Of the parameter is determined by evaluating the value binding at The view id transparently includes the request parameter. The value of the parameter isĭetermined by evaluating the value binding during the render phase (when the Transparently includes the request parameter. The value of the named request parameter onto the model object,Īfter performing appropriate type conversions. When a non-faces (GET) request for the view id occurs, Seam sets Is true, though likely you will end up using the opposite setting more often. You can disable a page action on postbackīy simply setting the on-postback to false:įor backwards compatibility reasons, the default value of the on-postback attribute To save you from the verbosity of JSF's API, Seam offers a built-in condition that allows you toĪccomplish the same result with a heck of a lot less typing. The ResponseStateManager is accessed usingįacesContext.getCurrentInstance().getRenderKit().getResponseStateManager(). This condition consults the ResponseStateManager#isPostback(FacesContext) toĭetermine if the request is a postback. That resolves to true only on an initial request. One way to disable the page action is to setup a condition If you are using the page action to load data, this operation may conflict with the standard JSFĪction(s) being executed on a postback. Page actions are executed on both an initial (non-faces) request and a postback (faces) request. Multiple or conditional page actions my be specified using the
To do complex things in response to non-faces requests (for example, HTTP GET Like Struts or WebWork using page actions. Reproduce the functionality of a traditional action-oriented framework Non-null, Seam will use the defined navigation rules to navigate to a view.įurthermore, the view id mentioned in the Įlement need not correspond to a real JSP or Facelets page! So, we can The page action method can return a JSF outcome. Will call all the actions, in order of least-specific to most-specific. If multiple wildcarded page actions match the current view-id, Seam Keep in mind that if the element is defined inĪ fine-grained page descriptor, the view-id attribute View-id to specify an action that applies to all Or we can use a * wildcard as a suffix to the WeĬan define a page action for either a particular JSF view id: We declare page actions in WEB-INF/pages.xml.
Of annotations and interceptors to apply cross-cutting concerns to components whichĪ Seam page action is an event that occurs just before we render a page. Listeners via JSF-like method binding expressions. The first is a strong event model where events may be mapped to event That facilitate the extreme loose-coupling that is the distinctive feature of SeamĪpplications. Some common exceptionsĬomplementing the contextual component model, there are two further basic concepts Using annotations for exception handling 6.12.4. Fine-grained files for definition of navigation, page actions and parameters 6.9. Mapping request parameters to the model 6.4.