Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: EE-2.0.0.GA
-
Fix Version/s: 3.0, EE-2.0.0.GA_P01
-
Component/s: ICE-Components
-
Labels:None
-
Environment:Tomcat 7.0.14, Mojarra 2.1.2
-
Assignee Priority:P1
-
Affects:Compatibility/Configuration
Description
<prop:fieldset>
<prop:propertyText value="#{myBean.myValue}">
<f:validateLength for="input" minimum="5"/>
</prop:propertyText>
</prop:fieldset>
If validation fails, the ice:inputText within prop:propertyText loses its value if validation fails. This doesn't happen with an h:inputText.
It also does NOT happen, if prop:fieldset is removed. So the bug actually only happens if the parent of composite component containing the ice:inputText is a composite component too.
-
Hide
- noice.zip
- 3.11 MB
- Ted Goddard
-
- noice/fieldset.xhtml 0.8 kB
- noice/index.jsp 0.1 kB
- noice/index.xhtml 0.8 kB
- noice/META-INF/MANIFEST.MF 0.0 kB
- noice/my.xhtml 0.8 kB
- noice/nest.xhtml 0.8 kB
- noice/one.xhtml 0.8 kB
- noice/plain.xhtml 0.7 kB
- noice/resources/.DS_Store 6 kB
- noice/resources/prop/fieldset.xhtml 0.6 kB
- noice/resources/prop/mynest.xhtml 2 kB
- noice/resources/prop/mytext.xhtml 2 kB
- noice/resources/prop/propertyText.xhtml 2 kB
- noice/resources/.../propertyTemplate.xhtml 0.5 kB
- noice/.../StateManagementStrategyImpl$1.class 3 kB
- noice/.../StateManagementStrategyImpl$2.class 2 kB
- noice/.../StateManagementStrategyImpl$3.class 1 kB
- noice/.../StateManagementStrategyImpl$4.class 3 kB
- noice/.../StateManagementStrategyImpl.class 8 kB
- noice/.../StateManagementStrategyImpl.java 18 kB
- noice/WEB-INF/.../jsf/ComponentSupport.class 12 kB
- noice/WEB-INF/.../jsf/ComponentSupport.java 26 kB
- noice/.../ComponentTagHandlerDelegateImpl$CreateComponentDelegate.class 0.4 kB
- noice/.../ComponentTagHandlerDelegateImpl.class 15 kB
- noice/.../ComponentTagHandlerDelegateImpl.java 21 kB
- noice/.../CompositeComponentTagHandler$1.class 0.8 kB
- noice/.../CompositeComponentTagHandler$CompositeComponentMetaRuleset$CompositeMetadataTarget.class 3 kB
- noice/.../CompositeComponentTagHandler$CompositeComponentMetaRuleset.class 1 kB
- noice/.../CompositeComponentTagHandler$CompositeComponentRule$CompositeExpressionMetadata.class 2 kB
- noice/.../CompositeComponentTagHandler$CompositeComponentRule$LiteralAttributeMetadata.class 2 kB
-
Hide
- sc10273.war
- 6.13 MB
- Tyler Johnson
-
- META-INF/MANIFEST.MF 0.0 kB
- WEB-INF/classes/.../MyBean.java 0.4 kB
- WEB-INF/classes/.../MyBean.class 0.7 kB
- WEB-INF/faces-config.xml 0.3 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/lib/icefaces-ee-compat.jar 2.67 MB
- WEB-INF/lib/icefaces-ee.jar 206 kB
- 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 0.8 kB
- index.jsp 0.1 kB
- index.xhtml 0.8 kB
- resources/.DS_Store 6 kB
- resources/prop/fieldset.xhtml 0.6 kB
- resources/prop/propertyText.xhtml 2 kB
- resources/prop/.../propertyTemplate.xhtml 0.5 kB
-
Hide
- supportNestedCC.zip
- 6.13 MB
- Adrian Gygax
-
- icefacesSupport/.classpath 0.8 kB
- icefacesSupport/.project 1 kB
- icefacesSupport/.../faces-config.pageflow 0.2 kB
- icefacesSupport/.settings/.jsdtscope 0.5 kB
- icefacesSupport/.../org.eclipse.jdt.core.prefs 0.4 kB
- icefacesSupport/.../org.eclipse.wst.common.component 0.5 kB
- icefacesSupport/.../org.eclipse.wst.common.project.facet.core.prefs.xml 0.2 kB
- icefacesSupport/.../org.eclipse.wst.common.project.facet.core.xml 0.3 kB
- icefacesSupport/.../org.eclipse.wst.jsdt.ui.superType.container 0.0 kB
- icefacesSupport/.../org.eclipse.wst.jsdt.ui.superType.name 0.0 kB
- icefacesSupport/WebContent/.../MANIFEST.MF 0.0 kB
- icefacesSupport/.../faces-config.xml 0.3 kB
- icefacesSupport/.../commons-beanutils.jar 226 kB
- icefacesSupport/.../commons-digester.jar 140 kB
- icefacesSupport/.../commons-logging.jar 52 kB
- icefacesSupport/.../icefaces-ee-compat.jar 2.67 MB
- icefacesSupport/.../icefaces-ee.jar 206 kB
- icefacesSupport/.../jsf-api-2.1.2.jar 611 kB
- icefacesSupport/.../jsf-impl-2.1.2.jar 1.85 MB
- icefacesSupport/WebContent/.../lib/jstl.jar 20 kB
- icefacesSupport/WebContent/.../lib/jxl.jar 708 kB
- icefacesSupport/.../krysalis-jCharts-1.0.0-alpha-1.jar 151 kB
- icefacesSupport/WebContent/.../web.xml 1 kB
- icefacesSupport/WebContent/index.xhtml 0.8 kB
- icefacesSupport/.../fieldset.xhtml 0.6 kB
- icefacesSupport/WebContent/.../line.xhtml 0.8 kB
- icefacesSupport/.../property.xhtml 1 kB
- icefacesSupport/.../propertyText.xhtml 2 kB
- icefacesSupport/.../propertyTemplate.xhtml 0.5 kB
- icefacesSupport/src/.../MyBean.java 0.4 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Opened up http://java.net/jira/browse/JAVASERVERFACES-2164 for this issue.
I should also note that I've tested this with a recent version of MyFaces and it does not exhibit the problem. However, it possible that MyFaces may not be handling the dynamic includes correctly and is dodging the issue.
Turns out the issue had already been reported as per (which includes a workaround):
http://java.net/jira/browse/JAVASERVERFACES-1991
Looks like there a number of related issues that hinge on this as well. Another developer has provided a patch in:
http://java.net/jira/browse/JAVASERVERFACES-2040
which indicates what looks to be a more fundamental problem with composite components in Mojarra but it has not been fixed/applied yet.
After applying the workaround from JAVASERVERFACES-1991 I still have this problem.
However, the workaround fixes the problem, that a textfield's content is always reset to the last valid value if you change it's content to an invalid value.
Attached example Eclipse project.
To reproduce the bug just enter something with less than 5 chars to trigger validation failure.
Remove the surrounding prop:fieldset in index.xhtml to verify the bug doesn't happen then
Replace ice:inputText with h:inputText in propertyText.xhtml to verify it works with h:inputText
BTW: We are using ice:inputText because we need to set an action on the inputText. We also assume that this problem happens also with other compatibily components where there is no easy replacement (e. g. selectInputDate).