
近日、JSF(ver 1.2)でWebシステムを実装することになりJSFの勉強中のものです。
ASP.NET や PHP(Smarty) でWebシステム実装経験があります。
JSFでどう実装すれば良いのかわからないことがあり、詳しい方にお教え頂きたいと考えています・・・!
【質問概要】
JSFで最初のリクエスト時のみに動く処理はどのように実装すればよいのでしょうか?
ASP.NETでは Page_Load イベントで Page#IsPostBack を以下の例のように使用すると
最初のリクエスト時のみに動く処理を実装することができました。
---- 例 ここから -------------------------------------------
void Page_Load() {
// 毎リクエスト時に行う処理
if (!IsPostBack) {
// 最初のリクエスト時にのみ行う処理
}
}
---- 例 ここまで -------------------------------------------
JSFではこれに相当するものが無いでしょうか?
【試してみたこと】
管理Beanのコンストラクタで最初のリクエスト時にのみ行う処理ができるかと思い、
以下のtest.jspを実行し、コンソールにどのように表示されるか試してみました。
---- test.jsp ここから -------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
(中略)
<body>
<f:view>
<h:form>
<h:commandButton action="#{Test.clickTest}" value="テストボタン"></h:commandButton><br />
</h:form>
</f:view>
</body>
</html>
---- test.jsp ここまで -------------------------------------
※Test は 下記 Test.java で実装した管理Bean。スコープはrequest。
---- Test.java ここから -------------------------------------
public class Test {
public Test(){
System.out.println("コンストラクタを通っている。");
}
public String clickTest() {
System.out.println("ボタンが押された。");
return "clickTest";
}
}
---- Test.java ここまで -------------------------------------
<コンソール出力結果>
最初のリクエスト時:
コンストラクタを通っている。
テストボタン押下後:
コンストラクタを通っている。
ボタンが押された。
このことから、リクエストのたびにコンストラクタが処理されていることが分かりました。
ASP.NETの Page#IsPostBack の様なものがあれば、最初のリクエストかどうかを判別できるのですが・・・!
以上です。
上記のようなコンストラクタを使用する以外でも、なにか良い方法は無いでしょうか?
お詳しい方、何卒よろしくお願い申し上げます・・・!
A 回答 (1件)
- 最新から表示
- 回答順に表示
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
ひとつの検索窓で複数の検索サ...
-
Webブラウザの閉じるボタン無効...
-
SPREADでカーソルの位置を1行目...
-
JSPでメッセージボックスを表示...
-
VBのこのコードの意味を教えて...
-
Eclipseでクリーンが出来ない
-
DataGridViewのチェックボック...
-
javascript 別ウィンドウを開...
-
c# 文字列の最後から1文字削除...
-
C# ボタンを押すとyahooのサイ...
-
Ctrlキーを押しながらのダブル...
-
JSPでボタンを押したら、文字が...
-
メール添付されたPDFファイルが...
-
【C#】 : WindowsProgramming ...
-
一度しか押せないボタンについて
-
Fancyboxのiframe内に閉じるボタン
-
JSFで最初のリクエストで動く処...
-
最小化ボタン
-
表示ボタン押下すると、テキス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
c# 文字列の最後から1文字削除...
-
Eclipseでクリーンが出来ない
-
JSPでメッセージボックスを表示...
-
DataGridViewのチェックボック...
-
メール添付されたPDFファイルが...
-
今更、VBAでRPA、キーボード操...
-
「押下」は「おうか」と読む?
-
javascript 別ウィンドウを開...
-
ロストフォーカスイベントとそ...
-
SPREADでカーソルの位置を1行目...
-
ブラウザの×ボタン(閉じるボタ...
-
JSPでボタンを押したら、文字が...
-
グリッドビューでのチェックボ...
-
表示ボタン押下すると、テキス...
-
Fancyboxのiframe内に閉じるボタン
-
GridViewの項目編集(初歩)
-
【C#】 : WindowsProgramming ...
-
Ctrlキーを押しながらのダブル...
-
C# Enterキーの動作について
おすすめ情報