Java EE の動作について覚書

<< 戻る   トップ >>

昔々、まだ Java EE が 6 だったころ、鴨乃嘴南蛮 Sesto を作り始めたことがあった。そのとき、ボタンの初期化がうまくいかずに困って、結局その問題が解決できぬまま開発そのもが尻すぼみになってしまったのだ。このほど、あらためて寺田佳央ほかの「Java EE7 徹底入門」を読んでいたところ、その原因と思われるものがいくつか思い当たったので備忘としたい。

JSTL タグライブラリの問題
JSTL タグライブラリは「JSP という Java EE の仕様で使用するタグライブラリで JSF でも利用できますが、他のフェースレットが提供するタグライブラリと実行のタイミングが違うため、不具合が生じる可能性が高く、基本的には利用しません。」とある。問題となった処理では、<c:if>を使用しており、ここに引っ掛かった可能性がある。
EL 表記に関わる問題
EL (Expression Language) 表記には、${a+b} と #{a+b} という二つの表記方法がある。「$を使用した場合はページがレンダリングされた時点で即時評価され、#を使用した場合はコンポーネントに式として渡され、ライフサイクルのタイミングで遅延評価されるという違いがあります。」問題となった処理で、この違いに引っ掛かった可能性がある
ライフサイクルへの誤解
「JSFでは、最初にブラウザからアクセスが来た際に、処理を実施せず画面を表示します」とのこと。ここに引っ掛かった可能性も捨てきれない。対策としては、<f:viewAction> 「ブックマーカビリティタグ」により、画面表示前に処理を実行させることが挙げられている。

may-be センテンスが続いているのは、手元に問題となったソースがないからである。発掘は可能なのではないかと思うが、わざわざ確認するまでのことはないだろう。


作成: 2018-02-20 09:48:29.0更新: 2018-02-20 09:48:29.0
http://museo-anonimo.jp/nanban/?id=1315,http://museo-anonimo.jp/nanban/tr/1315