JSFがさっぱりうまくいかないときに役立ちたいリンク集

- [JSF 2.2 View Declaration Language: Facelets Variant](https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/toc.htm)
- [javax.faces 2.4.0 javadoc (org.glassfish)](https://javadoc.io/doc/org.glassfish/javax.faces/latest/index.html)
- [All Tags / Functions - primefaces.org](https://www.primefaces.org/docs/vdl/3.5/alltags-noframe.html)
- [JavaEE7をはじめよう(12) - CDI Beanのインジェクション - エンタープライズギークス (Enterprise Geeks)](http://enterprisegeeks.hatenablog.com/entry/2015/06/29/075721)
- [Faceletsで画面が正常にレンダリングされない現象 - wadahiroの日記](http://wadahiro.hatenablog.com/entry/20100301/1267457136)
- [JSFによるWebアプリケーション開発](http://www.wakhok.ac.jp/~tomoharu/jsf2004/text/index_c7.html#doc1_id725)
- [JSFのEL式でOR,AND条件を使う - Qiita](http://qiita.com/nokonoko/items/e83628ef94b85d6c28c5)
- [JSFのバージョンを確認する方法 - Qiita](https://qiita.com/ponsuke0531/items/c6443ff1a368a56f650c)
- [JSF2.2のパラメータの受け渡しの方法その２。f:paramタグを使った方法。 | JavaServer Faces入門](http://dream.mods.jp/wp/2016/11/01/jsf2-2%E5%85%A5%E9%96%80-%E7%AC%AC14%E5%9B%9E%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E5%8F%97%E3%81%91%E6%B8%A1%E3%81%97/)
- [SelectItemのListをソートする方法 - Qiita](https://qiita.com/ponsuke0531/items/acd395144a2a1a3a353e)
- [JSFで文字列のリストをカンマ区切りの文字列で出力する方法 - Qiita](https://qiita.com/ponsuke0531/items/bb396d4c130dc86112c5)
- [CentOSでJSFのプロジェクトを作る - ponsuke_tarou’s blog](https://ponsuke-tarou.hatenablog.com/entry/2020/07/20/224416)
- [MacでJSFのプロジェクトを作る - ponsuke_tarou’s blog](https://ponsuke-tarou.hatenablog.com/entry/2020/12/29/114502)

# 実行順序

|実行順序|もの|CDIの利用|
|:--|:--|:--|
|1|コンストラクタ|x|
|2|ポストコンストラクタ|o|
|3|viewAction|o|

- [JSFの初期表示処理と画面遷移について解説 | ITのおもちゃ箱](https://ittoybox.com/archives/127)

# スコープ
|スコープアノテーション|バッキングBeanの寿命|
|:-:|:-:|
|@RequestScoped|一回の呼び出し(リクエスト)とそれへの応答(レスポンス)の間存続|
|@SessionScoped|HTTPセッションが続いている間(ログインしている間)存続|
|@ApplicationScoped|ウェブアプリケーションが実行されている間存続|
|@ConversationScoped|一回以上のリクエストの間で、開始と終了をプログラムで制御する|
|@Dependent|インジェクト先のスコープを引き継ぐ(予めスコープを決められない場合に使う)|
|@ViewScoped|リクエストにより表示されたJSFページが他のページへ切り替わる直前まで存続。画面をリロードしても存続。|

- [[Java EE 7] スコープについて &#8211; Subsonic Systems](http://subsonic.info/ja/2015/07/27/java-ee-7-%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/)
- [NetBeans 8.0.1 で JavaEE7 な CDI を利用する際の注意点 - normalian blog](http://normalian.hatenablog.com/entry/2014/12/22/115132)
- [JavaServer Faces、JSFにおけるマネージドビーンManagedBean、CDIのスコープについて解説 | JavaServer Faces入門](http://dream.mods.jp/wp/2016/11/02/jsf2-2%E5%85%A5%E9%96%80-%E7%AC%AC15%E5%9B%9Ejavabeans%E3%81%AE%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97/)
- [WELD-000072: Bean declaring a passivating scope must be passivation capable - Qiita](https://qiita.com/ponsuke0531/items/0475a32bf599b6dab5fd)

# `@PostConstruct`
- [The lifecycle method [methodName] must not throw a checked exception. - Qiita](https://qiita.com/ponsuke0531/items/3c08e74b47fed6b60727)

# `@Inject` `@Autowired`
- [WELD-001408: Unsatisfied dependencies for type Bean with qualifiers @Default - Qiita](https://qiita.com/ponsuke0531/items/f100c4f30630f74408c7)
- [@Autowiredと@Injectのどちらを使うべきか | dawaan](https://dawaan.com/autowired-vs-inject/)

# ui:repeat
- [Cannot convert IterationStatus - Qiita](https://qiita.com/ponsuke0531/items/415756506d24da0c8b86)
- [JSFでid属性を指定する方法 - Qiita](https://qiita.com/ponsuke0531/items/e06d56b1f1f4eaa985e8)

# h:head
- [One or more resources have the target of 'head', but no 'head' component has been defined within the view. - Qiita](https://qiita.com/ponsuke0531/items/ef50784e1378316b6513)
- [要素タイプmetaは、対応する終了タグ\</meta>で終了する必要があります。 - Qiita](https://qiita.com/ponsuke0531/items/07978aec7c7331fdddf5)

# h:commandButton、h:button
- [h:commandButtonで確認ダイアログでOKの時だけaction属性の処理を実行する方法 - Qiita](https://qiita.com/ponsuke0531/items/6e2270fbad664ea9b7fc)
- [h:buttonタグのonclick属性にEL式を書いて失敗した - Qiita](https://qiita.com/ponsuke0531/items/578ed43e440570f681f4)
- [h:commandButtonでサーバ処理実行後にJavaScriptの処理を実行する方法 - Qiita](https://qiita.com/ponsuke0531/items/3562bb211592a2215387)
- [disabled属性の項目値はサーバへ送信されないのでリロードすると値が消えるときの対応方法 - Qiita](https://qiita.com/ponsuke0531/items/e93a37b8e11858eb4bcc)

# h:selectOneMenu
- [JSF2.0 タグ一覧 (f:selectItems, h:selectOneMenu) 編｜赤び～の備忘録 &amp; 子育て月記](https://ameblo.jp/kurabeat/entry-10589910462.html)
- [bootstrap-selectで1つだけ選択できるプルダウンリストを作る方法 - Qiita](https://qiita.com/ponsuke0531/items/3757176d3ef4e897bca6)
- [bootstrap-selectで作ったセレクトボックスを活性化できないときの対応方法 - Qiita](https://qiita.com/ponsuke0531/items/25d52ce55a93d44e59de)

# h:selectOneRadio
- [h:selectOneRadioのラジをボタンでいろいろやってみる - Qiita](https://qiita.com/ponsuke0531/items/c04c5901c72c75c3e86b)

# h:inputTextarea

```xml:maxlengthを指定する方法
<html xmlns="http://www.w3.org/1999/xhtml"
<!--省略-->
  xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">
<!--省略-->
<h:inputTextarea pt:maxlength="5000" />
```


# f:ajax
- [f:ajaxでMethod not found - Qiita](https://qiita.com/ponsuke0531/items/364d7fb12796bfa93c1a)
- [jsf.ajax.request: Method must be called within a form - Qiita](https://qiita.com/ponsuke0531/items/d6ed07f0cc74e3270caa)
- [\<f:ajax> Unable to attach \<f:ajax> to non-ClientBehaviorHolder parent - Qiita](https://qiita.com/ponsuke0531/items/21020408fbee81933917)

# バリデーター
- [JSFのValidatorにおいて２回目のgetSubmittedValue()で値がnullになった時の対応方法 - Qiita](https://qiita.com/ponsuke0531/items/450799787cebdc104c20)
- [FacesMessageを設定したのに表示されないときの対応方法 - Qiita](https://qiita.com/ponsuke0531/items/7262c6251855f079d21f)
- [JSFのカスタムバリデータでメッセージを表示する時は、メッセージにSEVERITY_ERRORを設定しないとh:messageのerrorClassは適用されません。 - Qiita](https://qiita.com/ponsuke0531/items/ce158af98046b90df02f)
- [アップロードされたファイルの拡張子とサイズをチェックする方法 - Qiita](https://qiita.com/ponsuke0531/items/d9616864b92a90e5a5ea)

## f:convertDateTime
- [Cannot format given Object as a Date - Qiita](https://qiita.com/ponsuke0531/items/6f9c14bfedcb74464f4a)
- [ParseException: Unparseable date - Qiita](https://qiita.com/ponsuke0531/items/e0a54b3ddacd3fc7c823)

# その他Java
[Javaの基本を教えてくれるサイト集 - Qiita](https://qiita.com/ponsuke0531/items/971af69f49825dc0bdab)

# ついでにJavaScript
- [JavaScript内でJSFのEL式が使えることを初めて知りました　～画面表示時にダイアログ表示する挙動を例に～ - Challenge Java EE !](http://kikutaro777.hatenablog.com/entry/2013/04/03/201833)
- [JavaScriptの実装に役立つリンク集 - Qiita](https://qiita.com/ponsuke0531/items/bf4b67e3ba4ae0df1390)

# 一緒にGlassFish / Payara
- [GlassFishとPayaraを使うときに参考になるサイト集 - Qiita](https://qiita.com/ponsuke0531/items/6b3a909e057620e50c9c)

# 困った
- [JSFの画面を表示したらjavax.el.ELException: Not a Valid Method Expression: - Qiita](https://qiita.com/ponsuke0531/items/fff8d5eee8a567f21768)
- [Cannot apply expression operators to method binding - Qiita](https://qiita.com/ponsuke0531/items/b81df0579ceb3405971f)
- [JSFのタグがHTMLにならないときの対応方法 - Qiita](https://qiita.com/ponsuke0531/items/226744f1277e4f87c00c)
- [javax.el.PropertyNotWritableException - Qiita](https://qiita.com/ponsuke0531/items/561c2c4f723b5c877e67)
- [EclipseのProject FacetsにJavaServer Facesがない - Qiita](https://qiita.com/ponsuke0531/items/5d2551181f737ad9ef7d)