Я портирую учебник Affableben для сервлетов / jsp Netbeans на JSF Framework и хочу использовать Facelets для представления.
У меня уже есть сущности JPA, сессионные компоненты и управляемые компоненты. Я начинаю с просмотра. Однако я не нашел эквивалента в 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