近日、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を探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グリッドビューでのチェックボ...
-
VBAで一時中断したプログラムの...
-
ロストフォーカスイベントとそ...
-
DataGridViewのチェックボック...
-
c# 文字列の最後から1文字削除...
-
最大化ボタンと最小化ボタンを...
-
SPREADでカーソルの位置を1行目...
-
Excel:「フォーム」のボタンで...
-
Page_Load時にボタンクリックイ...
-
ブラウザの×ボタン(閉じるボタ...
-
今更、VBAでRPA、キーボード操...
-
C# ボタンを押すとyahooのサイ...
-
JSPでメッセージボックスを表示...
-
初期状態に戻す方法
-
Eclipseでクリーンが出来ない
-
エクセルにカウンターを設置したい
-
CheckBoxをボタン形式にして押...
-
VBのこのコードの意味を教えて...
-
押す
-
JSFで最初のリクエストで動く処...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
DataGridViewのチェックボック...
-
Eclipseでクリーンが出来ない
-
c# 文字列の最後から1文字削除...
-
SPREADでカーソルの位置を1行目...
-
グリッドビューでのチェックボ...
-
メール添付されたPDFファイルが...
-
Page_Load時にボタンクリックイ...
-
CheckBoxをボタン形式にして押...
-
Fancyboxのiframe内に閉じるボタン
-
VBのこのコードの意味を教えて...
-
ブラウザの×ボタン(閉じるボタ...
-
C# Enterキーの動作について
-
GridViewの項目編集(初歩)
-
今更、VBAでRPA、キーボード操...
-
EXCEL2010でセルが編集中かを判...
-
javascript 別ウィンドウを開...
-
VC++ MFC CListCtrlで、ボタン...
-
最大化ボタンと最小化ボタンを...
-
【C#】 : WindowsProgramming ...
おすすめ情報