Details
Description
However, this leads to a problem in a complex situation including composite components, ice:dataTable, h:selectBooleanCheckbox and f:ajax
-
Hide
- checkboxintable.war
- 6.13 MB
- Adrian Gygax
-
- META-INF/MANIFEST.MF 0.0 kB
- WEB-INF/classes/.../MyBean.java 1 kB
- WEB-INF/classes/.../MyBean$Item.class 1 kB
- WEB-INF/classes/.../MyBean.class 0.9 kB
- WEB-INF/faces-config.xml 0.3 kB
- WEB-INF/insieme-ri.taglib.xml 0.4 kB
- WEB-INF/lib/commons-beanutils.jar 226 kB
- WEB-INF/lib/commons-digester.jar 140 kB
- WEB-INF/lib/commons-logging.jar 52 kB
- WEB-INF/.../icefaces-ee-2.0.0-INSIEME1.jar 206 kB
- WEB-INF/.../icefaces-ee-compat-2.0.0-INSIEME1.jar 2.67 MB
- WEB-INF/lib/jsf-api-2.1.2.jar 611 kB
- WEB-INF/lib/jsf-impl-2.1.2.jar 1.85 MB
- WEB-INF/lib/jstl.jar 20 kB
- WEB-INF/lib/jxl.jar 708 kB
- WEB-INF/.../krysalis-jCharts-1.0.0-alpha-1.jar 151 kB
- WEB-INF/web.xml 2 kB
- index.xhtml 0.6 kB
- resources/table/my.xhtml 1 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
As there seems to be no progress on this issue we created a patched Mojarra 2 version with the patch from http://java.net/jira/browse/JAVASERVERFACES-1845. This allows us to use Partial State Saving again and we don't stumble on this bug anymore
Have you found the cause why this works with <h:dataTable> but not with <ice:dataTable>?
This should be tested with ace:ajax (Mark suggested this, so he may be a good candidate). If that fails similarly, we will want to provide a replacement for:
<h:selectBooleanCheckbox value="#
{item.isSelected}"><f:ajax execute="@this" render="@all"/>
</h:selectBooleanCheckbox>
This mimics singleSubmit, so it may be sufficient to replace h:selectBooleanCheckbox with an ice: or ace: component.
The following approach could be investigated:
A new component <ice:ajax> acting as a wrapper:
<ice:ajax execute="@this" render="@all">
<h:selectBooleanCheckbox value="#{item.isSelected}
">
</ice:ajax>
prior to rendering children would set onclick and onchange values explicitly given knowledge of what is appropriate for each component. This would result in very similar markup to f:ajax. The drawback is that knowledge of "ajax" for each component would be contained in ice:ajax. This lacks object orientation, but would be functional and maintainable given that the current JSF components are standardized.
Yes, the test case illustrates the desired f:ajax use. It's in resources\table\my.xhtml.
In the example, if a checkbox is clicked it's immediately deselected if using ice:dataTable.
We may be able to provide f:ajax functionality but without the state-saving problems. Does the test case include pages that illustrate the desired f:ajax use?
Attached example application demonstrating the bug.
A composite component containing an ice.dataTable with a selectBooleanCheckbox (see my.xhtml)
By clicking the check box, the model (MyBean) is not updated.
The inputText does work as expected.
- If we use an h:dataTable the behavior is as expected.
- If partial state saving is enabled the behaviour is as expected.
We actually don't want to disable partial state saving but we are forced to do so by http://java.net/jira/browse/JAVASERVERFACES-2041. If that bug was fixed in Mojarra this bug here would actually not be an issue for us.
Fixed by
ICE-7142.