Facelets: 画面ロード時の処理を記述します

使い方

  • Blanco2g】画面ロード時に処理を記述したい場合に、この技法を利用します。この記述により 画面ロード時に JSF ManagedBean のメソッドを呼び出すことができます。

Java

  1. package mypkg;
  2. import javax.faces.context.FacesContext;
  3. import blanco.fw.BlancoInject;
  4. import blanco.gettersetter.BlancoGetterSetter;
  5. import blanco.jsf.BlancoJsfManagedBean;
  6. @BlancoJsfManagedBean(scope = "session")
  7. public abstract class AbstractMyBean {
  8. @BlancoGetterSetter
  9. protected String field1 = null;
  10. public synchronized String getLoad(@BlancoInject final FacesContext ctx) {
  11. return null;
  12. }
  13. }

XHTML

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"
  4. xmlns:h="http://java.sun.com/jsf/html"
  5. xmlns:f="http://java.sun.com/jsf/core"
  6. xmlns:ui="http://java.sun.com/jsf/facelets">
  7. <h:head>
  8. <title>マイ画面</title>
  9. </h:head>
  10. <h:body>
  11. <h:form id="myForm">
  12. <h:outputText value="#{myBean.load}" />
  13. …中略…
  14. </h:form>
  15. </h:body>
  16. </html>

ポイント

  • 検索処理などの場合に、検索結果の一覧作成などの処理をこの箇所に実装します。
  • TODO このサンプルそのものの動作確認。
  • TODO field1 って、宣言だけして利用していません。

リンク