[
http://jira.jboss.com/jira/browse/JBSEAM-2469?page=comments#action_12414828 ]
Dan Allen commented on JBSEAM-2469:
-----------------------------------
Sorry, I misspoke regarding page actions and <render>. If you use the <render>
tag, the page action *does* get executed for that view ID. So page actions *always*
execute prior to rendering a page, unless disabled by a condition specified in the
"if" attribute.
What I am proposing is to recognize a postback and skip the page action if the *same* page
is rendered. I don't think we want the onPostback="false" flag to disable
the page action if a different page is rendered.
add postback flag to page actions
---------------------------------
Key: JBSEAM-2469
URL:
http://jira.jboss.com/jira/browse/JBSEAM-2469
Project: Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 2.0.1.CR1
Reporter: Dan Allen
Assigned To: Dan Allen
Fix For: 2.1.0.BETA2
Original Estimate: 1 hour
Remaining Estimate: 1 hour
Page actions are incredibly useful, but sometimes they can get in the way during a
postback. I would like to see a postback attribute added to the <action> tag that
can be used to disable the action on postback. It's possible using a conditional, but
it is ugly and a lot of typing.
Here is the logic that would go into Pages.java
private boolean isPostBack(FacesContext facesContext)
{
return facesContext.getExternalContext().getRequestParameterMap().
containsKey(ResponseStateManager.VIEW_STATE_PARAM);
}
The conditional alternative would be:
<action execute="#{component.action}" if="#{empty
param['javax.faces.ViewState']}"/>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira