Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-2.0.0.GA
-
Fix Version/s: 3.0.RC1, 3.0, EE-2.0.0.GA_P01
-
Component/s: Bridge
-
Labels:None
-
Environment:windows 7, jdk 1.6, eclipse Indigo
Description
Problem:
In a Portal Envrionement, such as Liferay, you sometimes need to trigger an regular (non-ajax) Post Call which triggers the Portal's ACTION_PHASE. The problem is that it is not going to work for commandLinks. It looks like as soon as JSF decorates a commandButton or a commandLink with the onclick="mojarra.jsfcljs(document.getElementById('myForm'),{'myForm:noneButton2':'myForm:noneButton2'},'');return false" function, ICEfaces is having troubles to detect whether these components have really been disabled via f:ajax disable=true
The commandButton actually works in ICEfaces but as soon as the mojarra patch is applied the commandButtons acts like a commandLink (as you would expect) and thus none of them interprets the f:ajax disabled="true" correctly and a ajax post is sent instead
What is the mojarra patch:
There is a bug in mojarra which fails to decorate the commandButton having an onclick method if the f:ajax disabled is set to true: thus the f:param is not set to the requestParameterMap
In order to Fix that Behavoir patch Line: 137:
FROM:
RenderKitUtils.renderOnclick(context, component, params, null, false);
TO:
RenderKitUtils.renderOnclick(context, component, params, null, true);
-
- application.js
- 26 kB
- Ted Goddard
-
- icefaces_7405_R2.xlsx
- 12 kB
- Patrick Dobler
-
- icefaces_7405.xlsx
- 12 kB
- Patrick Dobler
-
Hide
- icefaces_7405.zip
- 6.18 MB
- Patrick Dobler
-
- icefacesSupport_ICE-7405_part1/.classpath 0.8 kB
- icefacesSupport_ICE-7405_part1/.../faces-config.pageflow 0.2 kB
- icefacesSupport_ICE-7405_part1/.project 1 kB
- icefacesSupport_ICE-7405_part1/.../.jsdtscope 0.5 kB
- icefacesSupport_ICE-7405_part1/.../org.eclipse.jdt.core.prefs 0.4 kB
- icefacesSupport_ICE-7405_part1/.../org.eclipse.wst.common.component 0.5 kB
- icefacesSupport_ICE-7405_part1/.../org.eclipse.wst.common.project.facet.core.prefs.xml 0.2 kB
- icefacesSupport_ICE-7405_part1/.../org.eclipse.wst.common.project.facet.core.xml 0.3 kB
- icefacesSupport_ICE-7405_part1/.../org.eclipse.wst.jsdt.ui.superType.container 0.0 kB
- icefacesSupport_ICE-7405_part1/.../org.eclipse.wst.jsdt.ui.superType.name 0.0 kB
- icefacesSupport_ICE-7405_part1/.../ICEfacesBugCommandLink.xhtml 2 kB
- icefacesSupport_ICE-7405_part1/.../JSFBugCommandButton.xhtml 4 kB
- icefacesSupport_ICE-7405_part1/.../MANIFEST.MF 0.0 kB
- icefacesSupport_ICE-7405_part1/.../faces-config.xml 0.3 kB
- icefacesSupport_ICE-7405_part1/.../commons-beanutils.jar 226 kB
- icefacesSupport_ICE-7405_part1/.../commons-digester.jar 140 kB
- icefacesSupport_ICE-7405_part1/.../commons-logging.jar 52 kB
- icefacesSupport_ICE-7405_part1/.../icefaces-ee-2.0.0-INSIEME3.jar 206 kB
- icefacesSupport_ICE-7405_part1/.../icefaces-ee-compat-2.0.0-INSIEME3.jar 2.67 MB
- icefacesSupport_ICE-7405_part1/.../jsf-api-2.1.2-MIMACOM2.jar 609 kB
- icefacesSupport_ICE-7405_part1/.../jsf-impl-2.1.2-MIMACOM2.jar 1.84 MB
- icefacesSupport_ICE-7405_part1/.../jstl.jar 20 kB
- icefacesSupport_ICE-7405_part1/.../jxl.jar 708 kB
- icefacesSupport_ICE-7405_part1/.../krysalis-jCharts-1.0.0-alpha-1.jar 151 kB
- icefacesSupport_ICE-7405_part1/.../web.xml 3 kB
- icefacesSupport_ICE-7405_part1/.../index.xhtml 1 kB
- icefacesSupport_ICE-7405_part1/.../dummy.js 0.0 kB
- icefacesSupport_ICE-7405_part1/.../jsf-uncompressed.js 107 kB
- icefacesSupport_ICE-7405_part1/.../jsf.js 107 kB
- icefacesSupport_ICE-7405_part1/.../ButtonRenderer.class 7 kB
-
- submit.js
- 13 kB
- Ted Goddard
Issue Links
- depends on
-
ICE-7054 Setting <f:ajax disabled="true"> does not work for h:commandLink
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
onclick="console.log();" will not work on IE; instead, use something like onclick="var x = 0;".
The recent merge with the trunk is causing a regression failure. Please see ICE-7454.
This fix is causing failures with various ACE components due to the following:
ice.ace.AjaxRequest = function(cfg) {
...
ice.fullSubmit(jsfExecute, jsfRender, null, source || form[0], function(parameter) {
The synthetic event passed by ice.ace.AjaxRequest is null.
This should be addressed, but will likely require extensive changes to where ice.ace.AjaxRequest is used. A sufficient fix to solve the regression will be to check for the null event when it occurs. The drawback will be that ice.ace.AjaxRequest cases will likely ignore ajax disabled.
A fix is checked in to proceed when the event is null.
This has been verified fixed in the reported cases. If specific cases are found where ajax disabled does not interact correctly with parameters, specific JIRAs can be created.
Please find attached a demo application
How to import to Eclipse:
file -> import -> existing project into workspace -> select archieve file -> finish
How to verify the mojarra bug:
1. Please remove the icefaces-ee-2.0.0-INSIEME2.jar and icefaces-ee-compat-2.0.0-INSIEME2.jar from to /WEB-INF/lib
2. Start the server
3. go to: http://localhost:8080/icefacesSupport/JSFBugCommandButton.xhtml
4. Follow instuctions
5. Patch the com.sun.faces.renderkit.html_basic.ButtonRenderer as descibred above
6. Start the server again
7. go to: http://localhost:8080/icefacesSupport/JSFBugCommandButton.xhtml
8. Follow instuctions
How to verify the icefaces bug:
1. Please add the icefaces-ee-2.0.0-INSIEME2.jar and icefaces-ee-compat-2.0.0-INSIEME2.jar to /WEB-INF/lib
2. Start the server
3. go to: http://localhost:8080/icefacesSupport/ICEfacesBugCommandLink.xhtml
4. Follow instuctions
summa summarum: