【发布时间】:2012-01-04 14:22:07
【问题描述】:
我正在将 servlet/jsp Netbeans 的 Affableben 教程移植到 JSF 框架,并希望将 Facelets 用于视图。
我已经有了 JPA 实体、会话 bean 和托管 bean。我从视图开始。但是,我还没有在 Facelets 中找到可以解决这一行的等效项:
<a href="<c:url value='category?${category.id}'/>">
这是完整的循环,包括 jsp 和 facelets:
JSP 代码:
<c:forEach var="category" items="${categories}">
<div class="categoryBox">
<a href="<c:url value='category?${category.id}'/>">
<span class="categoryLabel"></span>
<span class="categoryLabelText"><fmt:message key='${category.name}'/></span>
<img src="${initParam.categoryImagePath}${category.name}.jpg"
alt="<fmt:message key='${category.name}'/>" class="categoryImage">
</a>
</div>
</c:forEach>
等效的 Facelets 代码:
<ui:repeat var="category" value="${categoryController.items}">
<div class="categoryBox">
<h:link outcome="${category.id}"/>
<span class="categoryLabel"></span>
<span class="categoryLabelText">${category.name}</span>
<img src="./resources/img/categories/${category.name}.jpg"
alt="${category.name}" class="categoryImage"/>
</div>
</ui:repeat>
此行在 Facelets 中无法正常工作:
<h:link outcome="${category.id}"/>
Facelets 中的等效功能是什么?
编辑 1
public String getName() throws UnsupportedEncodingException {
return URLEncoder.encode(name, "UTF-8");
}
警告信息:无法找到资源 img/categories/fruit+%26+veg.jpg
【问题讨论】: