サーブレット/ jsp NetbeansのAffablebenチュートリアルをJSFフレームワークに移植し、ビュー用にFaceletsを使用したいと考えています。データベースと同等のJSP to Facelets提供されたURLのループ化ループ
私はすでにJPAエンティティ、セッションBean、マネージドBeanを持っています。私はビューから始めています。しかし、私はこの行を回避するためのFaceletsで同等のものを発見していない:
<a href="<c:url value='category?${category.id}'/>">
これは、両方のJSPやfaceletで、完全なループです:
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の同等の機能は何ですか?
EDIT 1
public String getName() throws UnsupportedEncodingException {
return URLEncoder.encode(name, "UTF-8");
}
警告メッセージ:リソースのimg /カテゴリ/フルーツ+%26 + veg.jpg
早急な返信をいただきありがとうございました。ちょうど質問:<:choose>のためのFacelets同等または回避策は何ですか? (これが関連していない場合、私は新しいスレッドを投稿します、私に教えてください) –
ああ、私は忘れてしまった。
の代わりにを使用すると、名前の文字列がデータベースから取得され、フィールド値にアンパサンドまたはスペース(たとえば 'fruit&veg')がある場合、イメージはレンダリングされません。 –
1)JSFコンポーネントの 'rendered'属性を使います。 2)URLに無効な文字を使用しないでください。 'URLEncoder'を使用してください。 – BalusC