JSFでGETパラメータを使うときのメモ

f:viewParamとf:viewActionを使う。これらをf:metadataタグで囲む。
f:viewActionはJSF2.2で追加されたっぽい。それまではf:event type="preRenderView"を使っていた。
http://jdevelopment.nl/jsf-22/#758
http://www.oracle.com/technetwork/articles/java/jsf22-1377252.html

ただ、ここでかなりはまることに。はまったのは2つ

1個目

まず、動かない。
これはどうやらバグらしいのだが、NetBeansで作業しているとfタグを使おうとすると自動で
xmlns:f="http://xmlns.jcp.org/jsf/core"
を追加してくれるんですが、どうやら
xmlns:f="http://java.sun.com/jsf/core"
にしないとダメらしい。
https://java.net/jira/browse/JAVASERVERFACES-2868
java.sun.comは古いnamespaceで新しくxmlns.jcp.orgになったみたいなんですが、動かないなんて。。。
JSF2.2.1で修正されたようなのでそれを使えば大丈夫のはず(未確認)。

2個目

f:errormessagesタグを使ってると

The metadata component needs to be nested within a f:metadata tag. Suggestion: enclose the necessary components within 

みたいなエラーが画面に表示される。
これもバグっぽい
https://java.net/jira/browse/JAVASERVERFACES-2803
どうやら無視して問題ないようです。


JSFではあまりGETパラメータを使ってページ遷移させることがないのかなと思ってしまう。