Details
Description
Under certain conditions, the ViewState may not get written to the page/form which causes a problem when navigating. The typical result is that every second click of a button that triggers navigation doesn't appear to work. The problematic behaviour is actually seen in Mojarra 2.0.2 without ICEfaces. The conditions required are:
The page starts with the XML preamble like: <?xml version="1.0" encoding="UTF-8"?>
The form does not have a specific id set on it: <h:form prependId="false">
The button is Ajax-enabled with render all:
<h:commandButton id="navButton" value="Go to Page 2" action="page02">
<f:ajax render="@all"/>
</h:commandButton>
So given a couple of simple pages like this that navigate back and forth to each other:
<?xml version="1.0"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Ajax Navigation</title>
</h:head>
<h:body>
<h:form prependId="false">
<p>
<h:commandButton id="navButton" value="Go to Page 2" action="page02" >
<f:ajax render="@all"/>
</h:commandButton>
</p>
</h:form>
</h:body>
</html>
will result in every second click failing.
The page starts with the XML preamble like: <?xml version="1.0" encoding="UTF-8"?>
The form does not have a specific id set on it: <h:form prependId="false">
The button is Ajax-enabled with render all:
<h:commandButton id="navButton" value="Go to Page 2" action="page02">
<f:ajax render="@all"/>
</h:commandButton>
So given a couple of simple pages like this that navigate back and forth to each other:
<?xml version="1.0"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Ajax Navigation</title>
</h:head>
<h:body>
<h:form prependId="false">
<p>
<h:commandButton id="navButton" value="Go to Page 2" action="page02" >
<f:ajax render="@all"/>
</h:commandButton>
</p>
</h:form>
</h:body>
</html>
will result in every second click failing.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Deryk Sinotte
created issue -
Deryk Sinotte
made changes -
Field | Original Value | New Value |
---|---|---|
Workaround Description |
You can either - remove the <?xml line from the document - provide a specific id attribute for the form to prevent it from oscillating (e.g. <form id="theForm") - specify a specific sub tree to render rather than rendering (<f:ajax render="theForm"/>) |
|
Workaround Exists | [Yes] | |
Salesforce Case | [] | |
Fix Version/s | 2.0-Beta [ 10231 ] |
Deryk Sinotte
made changes -
Salesforce Case | [] | |
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Deryk Sinotte
made changes -
Salesforce Case | [] | |
Assignee Priority | P1 | |
Assignee | Deryk Sinotte [ deryk.sinotte ] | Mircea Toma [ mircea.toma ] |
Ken Fyten
made changes -
Assignee Priority | P1 | P2 |
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee Priority | P2 |
Ken Fyten
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Won't Fix [ 2 ] |
Mircea Toma
made changes -
Resolution | Won't Fix [ 2 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Mircea Toma
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 2.0.0 [ 10230 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |