Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-2.0.0.Alpha1
-
Fix Version/s: EE-2.0.0.Beta1
-
Component/s: Core Extensions
-
Labels:None
-
Environment:ICEfaces 2, both compat and regular
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration
Description
In regular JSF/Facelets, when an html tag, that is not a UIComponent tag, is encountered, it's encapsulated as a UIInstructions component, which affects the component tree hierarchy in a way that's not entirely obvious. Let's say you have a panelGrid, with an html tag as a child, and then inside that an actual component.
<h:panelGrid columns="1">
<center>
<h:inputText .../>
</center>
</h:panelGrid>
You might think that the <center> tag will be a component which is the only child of the <h:panelGrid>, and the parent of the <h:inputText>, but what will instead happen is that <h:panelGrid> will have 3 children: a UIInstructions child corresponding to the opening <center> tag, the <h:inputText>, and a UIInstructions child corresponding to the closing </center> tag.
The h:panelGrid component will then render each if it's children into a separate <TD> tag, which will confuse the browser, since the starting <center> will be in a separate <TD> then the ending </center>. This is illustrated here: http://jira.icefaces.org/browse/ICE-5735
In ICEfaces 1.8.x and before, we had code that specifically made the HTML tags become like components, instead of becoming UIInstructions, so that they would behave as expected. This jira is for replicating that functionality into ICEfaces 2.
This is a jira for some of that previous work: http://jira.icefaces.org/browse/ICE-1092
These are the relevant classes:
com.icesoft.faces.facelets.UIXhtmlTagLibrary
com.icesoft.faces.facelets.UIXhtmlTagDecorator
com.icesoft.faces.facelets.UIXhtmlComponentHandler
com.icesoft.faces.component.UIXhtmlComponent
<h:panelGrid columns="1">
<center>
<h:inputText .../>
</center>
</h:panelGrid>
You might think that the <center> tag will be a component which is the only child of the <h:panelGrid>, and the parent of the <h:inputText>, but what will instead happen is that <h:panelGrid> will have 3 children: a UIInstructions child corresponding to the opening <center> tag, the <h:inputText>, and a UIInstructions child corresponding to the closing </center> tag.
The h:panelGrid component will then render each if it's children into a separate <TD> tag, which will confuse the browser, since the starting <center> will be in a separate <TD> then the ending </center>. This is illustrated here: http://jira.icefaces.org/browse/ICE-5735
In ICEfaces 1.8.x and before, we had code that specifically made the HTML tags become like components, instead of becoming UIInstructions, so that they would behave as expected. This jira is for replicating that functionality into ICEfaces 2.
This is a jira for some of that previous work: http://jira.icefaces.org/browse/ICE-1092
These are the relevant classes:
com.icesoft.faces.facelets.UIXhtmlTagLibrary
com.icesoft.faces.facelets.UIXhtmlTagDecorator
com.icesoft.faces.facelets.UIXhtmlComponentHandler
com.icesoft.faces.component.UIXhtmlComponent
Issue Links
- blocks
-
ICE-5323 Regression: ICE-3147 not working as expected
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Mark Collette
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Fix Version/s | 2.0.0 [ 10230 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 2.0-Beta [ 10231 ] | |
Fix Version/s | 2.0.0 [ 10230 ] | |
Affects | [Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration] | |
Security | Private [ 10001 ] | |
Assignee | Mark Collette [ mark.collette ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P2 |
Ken Fyten
made changes -
Fix Version/s | 2.0-Beta2 [ 10242 ] | |
Fix Version/s | 2.0-Beta1 [ 10231 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P2 | P3 |
Mark Collette
made changes -
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 2.0.0 [ 10230 ] | |
Fix Version/s | 2.0-Beta2 [ 10242 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P3 | P2 |
Assignee | Mark Collette [ mark.collette ] | Ted Goddard [ ted.goddard ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 2.0.0-EE-Beta1 [ 10250 ] | |
Fix Version/s | 2.0.0 [ 10230 ] |
Ken Fyten
made changes -
Link | This issue blocks ICE-6479 [ ICE-6479 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P2 | P1 |
Ted Goddard
made changes -
Attachment | test.xhtml [ 12816 ] |
Ted Goddard
made changes -
Assignee | Ted Goddard [ ted.goddard ] | Mandeep Hayher [ mandeep.hayher ] |
Ken Fyten
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Assignee Priority | P1 | |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee | Mandeep Hayher [ mandeep.hayher ] | Ted Goddard [ ted.goddard ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P1 |
Ted Goddard
made changes -
Assignee | Ted Goddard [ ted.goddard ] | Mandeep Hayher [ mandeep.hayher ] |
Mandeep Hayher
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Mandeep Hayher
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Closed [ 6 ] | Reopened [ 4 ] |
Assignee Priority | P1 | |
Assignee | Mandeep Hayher [ mandeep.hayher ] | Ken Fyten [ ken.fyten ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Component/s | Core Extensions [ 10051 ] |
Ken Fyten
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |