[
https://issues.apache.org/jira/browse/TRINIDAD-1144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611673#action_12611673
]
Andrew Robinson commented on TRINIDAD-1144:
-------------------------------------------
This either should be (1) not a bug, but discussed on the user mailing list
until the actual bug is found and not just reporting that your code doesn't
work or (2) submit a reproducible test case maven project to debug.
#2 would probably be best. As long as the project depends on maven to build and
uses only jars from central and other public repositories, it would make
testing a lot more easy.
I meant facelets 1.1.14. There have been people reporting problems with 1.1.14
and variable scoping.
You haven't nested the components have you?
If you have nested a table with var=row in another table with var=row, it won't
work. You cannot re-use the same var in the same component tree, it has to be
unique. This is because the var is stored into the request map. When an inner
table would write the value, it would replace any existing value.
You can read more here:
http://andrewfacelets.blogspot.com/2008/06/understanding-datatable.html
> EL variable not set or get correctly
> ------------------------------------
>
> Key: TRINIDAD-1144
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1144
> Project: MyFaces Trinidad
> Issue Type: Bug
> Components: Archetype
> Affects Versions: 1.2.9-core
> Environment: JSF RI 1.2.08b6, JBoss Seam 2.0.2.SP1, Facelets 1.1.14
> Reporter: Mathias Walter
> Priority: Blocker
> Fix For: 1.2.9-core
>
>
> I'm using a facelet component which sets a variable to the row of a tr:table
> (<c:set var="entity" value="#{row}" />). This variable is then used in a
> child table (which is also a facelet component) as source value.
> In 1.2.9 this approach does not work anymore. The entity is set to the
> current row of the child table and does not contain the row entity set before.
> Up to 1.2.8, all works fine. I checked the fixes for 1.2.9, but could not
> find a related one.
> facelet tag code snippet:
> <ui:composition>
> <c:choose>
> <c:when test="${empty value}">
> <c:set var="source" value="${backingBean.list}" />
> </c:when>
> <c:otherwise>
> <c:set var="source" value="${entity[value]}" />
> </c:otherwise>
> </c:choose>
> <c:choose>
> <c:when test="${empty eventBinding}">
> <c:set var="binding" value="${backingBean}" />
> </c:when>
> <c:otherwise>
> <c:set var="binding" value="${eventBinding}" />
> </c:otherwise>
> </c:choose>
> <tr:table value="${source}" binding="${binding.model}" var="row">
> <c:set var="entity" value="#{row}" />
> <ui:insert />
> <tr:column headerText="Actions">
> <tr:panelButtonBar>
> <tr:commandLink action="#{backingBean.edit}"
> text="Edit" partialSubmit="true" rendered="#{!backingBean.editMode and
> backingBean.visibleOnly}" immediate="true" />
> <tr:commandLink action="#{backingBean.save}"
> text="Save" partialSubmit="true" rendered="#{!backingBean.visibleOnly}" />
> <tr:commandLink action="#{backingBean.cancel}"
> text="Cancel" partialSubmit="true" rendered="#{!backingBean.visibleOnly}"
> immediate="true">
> <tr:resetActionListener/>
> </tr:commandLink>
> </tr:panelButtonBar>
> </tr:column>
> </tr:table>
> </ui:composition>
> xhtml code snippet:
> <i:ietable panelCaption="Samples" backingBean="#{samples}"
> eventBinding="#{samplesBindings}">
> <i:field label="ID" name="id" columns="6" readOnly="true"/>
> <f:facet name="detailStamp">
> <i:ietable panelCaption="Findings" value="findings"
> backingBean="#{findings}" eventBinding="#{findingsBindings}" parent="#{row}"
> nested="true">
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.