[
https://issues.apache.org/jira/browse/MYFACES-2753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887922#action_12887922
]
Jakob Korherr commented on MYFACES-2753:
----------------------------------------
I want to change ui:composition from extendClient() to pushClient(), so I don't
really know if it is that what you want to say.
Yes but don't forget that the whole TemplateClient stack is only here for
resolving ui:define tags for their associated ui:insert tags, and in this case
if a ui:define tag is inside the ui:composition of template1.xml of your
example and there is also a ui:define tag inside the ui:decorate with the same
name, there are problems with extendClient(). However I think this may be a
problem also for the solution proposed in the patch, so I have to check this
scenario again.
Really, as you said, we have to create a test case with a lot of possible
scenarios to figure out what to do. My test patch is a begin, but we have to
create many more...
All I am saying now is that the current algorithm is incorrect and pretty messy
and thus really needs a fix.
> Trivial multi-level templating does not work if ui:include is used
> ------------------------------------------------------------------
>
> Key: MYFACES-2753
> URL: https://issues.apache.org/jira/browse/MYFACES-2753
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-314
> Affects Versions: 2.0.2-SNAPSHOT
> Environment: myfaces core trunk (2.0.2-SNAPSHOT), tomcat 6.0.26
> Reporter: Martin Kočí
> Assignee: Jakob Korherr
> Attachments: MYFACES-2753-tests.patch, MYFACES-2753.patch,
> MYFACES-2753.tar.gz
>
>
> Following example does not produce any output:
> OuterClient.xhtml
> <ui:decorate
> template="/templates/OuterTemplate.xhtml"
> xmlns:ui="http://java.sun.com/jsf/facelets">
> <ui:define name="content">
> <ui:include src="InnerClient.xhtml" />
> </ui:define>
> </ui:decorate>
> OuterTemplate.xhtml:
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
> <html
> xmlns="http://www.w3.org/1999/xhtml"
> xmlns:ui="http://java.sun.com/jsf/facelets"
> xmlns:f="http://java.sun.com/jsf/core"
> xmlns:h="http://java.sun.com/jsf/html">
> <f:view>
> <h:head>
> <title>title</title>
> </h:head>
> <h:body>
> <ui:insert name="content" />
> </h:body>
> </f:view>
> </html>
> InnerClient.xhtml:
> <ui:composition
> template="/templates/InnerTemplate.xhtml"
> xmlns="http://www.w3.org/1999/xhtml"
> xmlns:ui="http://java.sun.com/jsf/facelets">
> <ui:define name="content">
> Do you see me?
> </ui:define>
> </ui:composition>
> InnerTemplate.xhtml:
> <f:subview
> xmlns:ui="http://java.sun.com/jsf/facelets"
> xmlns:f="http://java.sun.com/jsf/core">
> <ui:insert name="content" />
> </f:subview>
> But if OutterClient.xhtml looks like:
> <ui:decorate
> template="/templates/OuterTemplate.xhtml"
> xmlns:ui="http://java.sun.com/jsf/facelets">
> <ui:define name="content">
> <ui:composition template="/templates/InnerTemplate.xhtml">
> <ui:define name="content">
> Do you see me?
> </ui:define>
> </ui:composition>
> </ui:define>
> </ui:decorate>
> it outputs "Do you see me?" which is expected result in both cases. I think
> first case should work too - or am I missing something?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.