You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Gonçalo Manuel Cruchinho (JIRA)" <de...@myfaces.apache.org> on 2014/02/13 17:03:23 UTC
[jira] [Created] (MYFACES-3853) ui:include not working inside
c:forEach
Gonçalo Manuel Cruchinho created MYFACES-3853:
-------------------------------------------------
Summary: ui:include not working inside c:forEach
Key: MYFACES-3853
URL: https://issues.apache.org/jira/browse/MYFACES-3853
Project: MyFaces Core
Issue Type: Bug
Affects Versions: 2.2.0
Reporter: Gonçalo Manuel Cruchinho
Priority: Critical
Using ui:include inside a c:forEach cases a duplicate id error. This only happens if there is at least a second element to iterate.
The exception is the following: java.lang.IllegalStateException: Client-id : <clientId> is duplicated in the faces tree.
Below there's an example of a test case that replicates the problem.
Test Case
Myfaces22ForEach.java
@ManagedBean(name = "myfaces22foreach")
@SessionScoped
public class Myfaces22ForEach {
private List<String> pageList;
private String test;
public List<String> getPageList() {
if (pageList == null) {
pageList = new ArrayList<String>();
pageList.add("page1.xhtml");
pageList.add("page2.xhtml");
}
return pageList;
}
public void setPageList(List<String> pageList) {
this.pageList = pageList;
}
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
myfaces22foreach.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Myfaces 2.2 | forEach Test</title>
</h:head>
<h:body>
<h:form>
<table>
<c:forEach items="#{myfaces22foreach.pageList}" var="page">
<tr>
<td>
<ui:include src="#{page}" />
</td>
</tr>
</c:forEach>
</table>
</h:form>
</h:body>
</html>
page1.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:outputText value="Test" />
</ui:composition>
page2.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:inputText value="#{myfaces22foreach.page}" />
</ui:composition>
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)