近日、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で質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Visual Basic(VBA) VBA ステータスバー DoEvents 1 2023/03/30 12:22
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ロストフォーカスイベントとそ...
-
SPREADでカーソルの位置を1行目...
-
【C#】 : WindowsProgramming ...
-
Ctrlキーを押しながらのダブル...
-
VBAで一時中断したプログラムの...
-
GridViewの項目編集(初歩)
-
メール添付されたPDFファイルが...
-
初期状態に戻す方法
-
Excel:「フォーム」のボタンで...
-
DataGridViewのチェックボック...
-
グリッドビューでのチェックボ...
-
IEの閉じるボタンを消す方法
-
Eclipseでクリーンが出来ない
-
EXCEL2010でセルが編集中かを判...
-
ボタン1を押すと…
-
C# ボタンを押すとyahooのサイ...
-
スクリプトによって、htaアプリ...
-
javascript 別ウィンドウを開...
-
最大化ボタンと最小化ボタンを...
-
Webブラウザの閉じるボタン無効...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
c# 文字列の最後から1文字削除...
-
DataGridViewのチェックボック...
-
Eclipseでクリーンが出来ない
-
グリッドビューでのチェックボ...
-
Ctrlキーを押しながらのダブル...
-
ブラウザの×ボタン(閉じるボタ...
-
CheckBoxをボタン形式にして押...
-
ロストフォーカスイベントとそ...
-
SPREADでカーソルの位置を1行目...
-
最大化ボタンと最小化ボタンを...
-
C# Enterキーの動作について
-
Page_Load時にボタンクリックイ...
-
Fancyboxのiframe内に閉じるボタン
-
C# VBAで言うexit subについて
-
C# ボタンを押すとyahooのサイ...
-
GridViewの項目編集(初歩)
-
Webブラウザの閉じるボタン無効...
-
今更、VBAでRPA、キーボード操...
-
JSPでメッセージボックスを表示...
おすすめ情報