JSF 2.0 で Cookie にアクセスするために、このような長い値式は必要ありませんcookie
。Cookie マップを参照するという名前の暗黙的なオブジェクトがあり、これは と同等facesContext.externalContext.requestCookieMap
です。
したがって、次のコード:
<h:outputText value="#{cookie['TESTCOOKIE'].value}" />
次のように出力する必要があります。
<h:outputText value="#{facesContext.externalContext.requestCookieMap['TESTCOOKIE'].value}" />
ここで、それらすべてを反復処理する場合は、バッキング Bean を使用することをお勧めします。
@RequestScoped
@ManagedBean(name = "triky")
public class TrikyBean {
public List getCookies() {
FacesContext context = FacesContext.getCurrentInstance();
Map cookieMap = context.getExternalContext().getRequestCookieMap();
return new ArrayList(cookieMap.values());
}
}
そして、このように使用します
<ui:repeat value="#{triky.cookies}" var="ck">
#{ck.name}: #{ck.value}<br/>
</ui:repeat>
明確化: これは、タグがその属性で<ui:repeat />
のみ受け入れるという事実から来ています。さらに、 a のメソッドのデフォルト実装によって与えられるコレクションは a ではなくaであるため、タグはそのセットを独自のリスト モデルの唯一の要素として使用し、そのリスト モデルを反復処理するとき、要素の数はちょうどそのうちの 1 つは実際には Cookie ではありませんでした。java.util.List
value
ListModel
values()
java.util.Map
java.util.List
java.util.Set
<ui:repeat/>