<;c:forEach>;从JSF 1.2迁移到JSF 2.2后不再被识别
我正在将我的应用程序从JSF1.2升级到JSF2 我正在尝试下面一个简单的forEach标记,但它没有显示循环中的任何内容<;c:forEach>;从JSF 1.2迁移到JSF 2.2后不再被识别,jsf,foreach,jstl,jsf-2.2,Jsf,Foreach,Jstl,Jsf 2.2,我正在将我的应用程序从JSF1.2升级到JSF2 我正在尝试下面一个简单的forEach标记,但它没有显示循环中的任何内容 <table id="tab${sectionId}" border="0" cellpadding="0" cellspacing="0" width="100%" class="listingTable" > <c:forEach var="row" ro
<table
id="tab${sectionId}"
border="0"
cellpadding="0"
cellspacing="0"
width="100%"
class="listingTable"
>
<c:forEach
var="row"
rowStatus="index"
items="#{bean.department.userActivities}"
>
<tr>
<td>
test
</td>
</tr>
</c:forEach>
</table>
测试
值测试未显示。c:forEach实现是否已更改
我尝试用替换,但有一些其他问题。它正在呈现其中的内容。但如果我有一个组件在里面,我就不能分配一个支持bean值作为组件的ID。示例如下所示
<table
id="tab${sectionId}"
border="0"
class="listingTable"
>
<t:dataList
var="row"
rowIndexVar="index"
value="#{bean.department.userActivities}"
>
<h:column>
<h:outputText id="#{row.activityCode}">test1</h:outputText>
</h:column>
</t:dataList>
</table>
测试1
所以,用。我无法将支持bean属性指定为组件的ID。我收到错误“java.lang.IllegalArgumentException:组件标识符不能是零长度字符串”
有谁能帮助我理解为什么c:forEach标记不起作用。我有巨大的代码,它使用forEach标记。升级后,如果JSF2不再支持forEach,我将不得不删除它:(JSTL taglib/XML命名空间URI在JSTL/JSF/Facelets版本之间来回变化 对于JSF1.0的JSP上的JSF,它是
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
对于JSF on,它是
对于JSTL 1.1+,它是
<xxx xmlns:c="http://java.sun.com/jstl/core">
对于JSTL 1.2+,它是
<xxx xmlns:c="http://java.sun.com/jsp/jstl/core">
<xxx xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
对于JSTL 1.2+,它是
<xxx xmlns:c="http://java.sun.com/jsp/jstl/core">
<xxx xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
确保你选对了
另见:
与具体问题无关,至于您实际上最终试图解决的基本功能需求,请考虑以下相关问题: