• ベストアンサー

Strutsで画面遷移させない。

Strutsでwebアプリを作成しているのですが、jsp上のボタンを押下時、sessionに持ってる変数を書き換えたいのですが、画面遷移はさせたくないのです。それって可能ですか? どなたかご教授ください。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • risayuri
  • ベストアンサー率52% (9/17)
回答No.2

画面遷移とは、サーバーサイドへのアクセスのことを想定されているのでしょうか? それとも、表示されている画面の状態の変化のことでしょうか? もし、後者であれば、Actionで自身の画面にforwardしてやればできます。 前者であるのなら難しいです。 sessionの値を書き換えたいのであれば、必ずサーバーサイドに要求を送らなければならないからです。 今、流行のAjaxを利用すれば、画面の遷移なしに可能です。

その他の回答 (1)

  • kazsharp
  • ベストアンサー率37% (16/43)
回答No.1

通常ならActionForwadオブジェクトをreturnするところを「null」をreturnすれば画面遷移をしなくなると思います。

関連するQ&A

  • Strutsで画面開設時に・・・

    Strutsで画面を開設時に ボタン等を押下することなく 結果一覧を表示させる方法はありますでしょうか?? 前の画面から遷移するためのボタンを押下した時ではなく、 画面が開いた時に、結果一覧を表示させる操作がしたいのです。 struts-config.xmlをどうにかいじって Action.classのexecute()を ボタン等の操作なくJSPファイルに読み込む方法ないですかね・・・・。

    • ベストアンサー
    • Java
  • struts2 例外時にエラー画面に遷移しない

    struts2でStruts.xmlに例外が発生した場合はError.JSPに遷移するように指定しました。 Actionクラス上で発生した例外はError.JSPに遷移するようになりましたが interceptorで発生した例外はTomcatのエラー画面に遷移してしまいます。 これは仕様なのでしょうか?

  • struts + Jbossを使用した画面遷移について

    struts + Jbossを使用した開発を行っているものです。 以下のルートディレクトリが違う画面があったとします。 A) ルートディレクトリ:test1 jsp名:test1.jsp URL:http://localhost:8080/test1/test1.do B) ルートディレクトリ:test2 jsp名:test2.jsp URL:http://localhost:8080/test2/test2.do A)の画面からsubmitし、B)の画面へ遷移したいのです が、出来ません。ルートディレクトリが違う画面遷移 って可能なのでしょうか?

  • strutsでalert・・・

    strutsを使用して作成しています。 1.JSP上で、テキスト入力をして、ボタン押下。 2.Action.class内で、ファイル名をチェックする。 3.ファイル名が適切なら処理続行。 不適切ならポップアップ表示で、不適切だと告げて処理終了。 ・・・・の流れで進めたいと思っています。 2のファイル名チェックまでは、indexOfを使ってできました。 そして、その結果次第で、処理を分けたいのですが、 indexOfの結果が「-1」だった場合、ポップアップ表示させるイイ方法はないですか? (「-1」以外なら、次画面に遷移します) ボタン押下後、Actionでの結果をJSPに反映させたいのです・・・・。

    • ベストアンサー
    • Java
  • Struts の画面遷移について

    現在Struts1.1で開発しております。 Strutsどころか、Javaもほぼ初めてなのでテンパってます。 言葉で説明するのはとても難しいく、分かりにくいと思いますが、 何かアドバイスをお願い致します。 【質問】 A画面、B画面、共通検索画面があり A→共通→A B→共通→B の画面遷移をします。 このとき、AまたはBで選択された値を共通画面のtextフィールドに反映します。 遷移後の共通検索画面で対象データ検索し、選択された値を呼び元(AまたはB)に返します。 さらにAまたはBでは遷移前の情報は保持しなければいけません。 どうして作ったら良いか分かりません。 非常に困ってます。。。

    • ベストアンサー
    • Java
  • struts java ログインのセッション情報を確認するには?

    struts java ログインのセッション情報を確認するには? Login.jspからログインボタンを押下(この時にセッション情報を取得)して、画面遷移をしてB.jspに行きます。 この時にBAction.javaでセッション情報をB.jspが表示される前に取得したいのですがどうすればいいのでしょうか? B.jsp画面が表示される前に、セッション情報を取得してセッション情報があるかないかの判定を行いあればB.jspを表示してなければログイン画面を表示しようと考えています。 BAction.javaに記述したい処理です。 HttpSession session = request.getSession(false); if ( session.getAttribute("sessionInformation") != null ) { System.out.println("セッション有効") ; return mapping.findForward("success"); } else { //論理名"error"に該当するページへ移動(struts-config.xmlを参照) return mapping.findForward("errorSession"); } この処理をActionクラスにどのように記述すればいいのでしょうか? struts-config.xmlファイルの内容 <action <forward name="errorSession" path="/Login.jsp" /> <forward name="success" path="/B.jsp" /> </action> です。 URL直打ちをしてB.jspにアクセスしようとしたときに、セッション情報をもっていない為、上記のelseになり、ログイン画面に遷移しようと考えております。 かなりネットで調べましたが全く分かりませんでした。

    • ベストアンサー
    • Java
  • 画面の遷移先の取得

    状況 Strutsを使っています。 やりたいこと ActionMappingや、ActionForwardのオブジェクトから、 次の画面遷移先を取得したいです。 ※struts-config.xml上で、 forward name="success" path="/WEB-INF/jsp/GamenName.jsp"/ というように記述をしているわけですし、その情報を取れるのかなぁと思っていますが、不可能でしょうか?

    • ベストアンサー
    • Java
  • ブラウザの戻る ページ遷移PHP処理

    ブラウザの戻るボタンを押下されたときの、SESSION変数の処理について考えています ページが遷移する前に処理を行うということはできますか?

    • ベストアンサー
    • PHP
  • 画面遷移でセッション切れになります

    いつもお世話になっております。 サーブレットを使用した画面遷移で jsp(ログイン)→servlet(ログイン確認)→jsp(メニュー) →servlet(データ取得)→jsp(データ一覧表示) という流れで画面遷移を行っていたのですが、 二つ目のjsp(メニュー)まではセッションが残っているのですが 次のservletに遷移した瞬間セッションがが切れてしまいnullを検出してしまいます。 はじめのservlet(ログイン確認)にて getAttributeを使用しセッションを残していたのですが、 セッション切れの原因がわかりません。 セッション切れする原因はなんなのでしょうか。 皆様の知恵をお借りできれば幸いです。

    • ベストアンサー
    • Java
  • showModalDialogの子画面での画面遷移

    お世話になっています。 mike219といいます。 現在Webシステムの開発をStrutsで行っております。 そこで、一つ悩みにぶつかったので質問させていただきました。 行いたいことは、下記のような動きです。 (1)JavaScriptでshowModalDialogを使って子画面を開きます。 (2)showModalDialogで開かれた画面にいろいろ書き込みます。 (3)開かれている子画面内にあるボタンをクリックして  子画面内での画面遷移を行います。 といった感じです。 現在(3)で問題があり、ボタンをクリックした後、 新規でブラウザが立ち上がり遷移先の画面が表示されてしまっています^ ^; なにか子画面で遷移先の設定をしないといけないと 思うのですが、JavaScriptの知識が浅いため良く分かっていないです。 どなたか助けていただけませんか?

専門家に質問してみよう