• 締切済み

画面遷移ができない

会員変更画面の変更の内容をやっているのですが 画面が移動せずエラー表記になってしまいます 現在あり使うコントローラー user_update_check user_update_complete user_update_input UserUpdateCustomerController entity,repository,util @Controller public class UserUpdateCustomerController { /** * 会員情報 */ @Autowired UserRepository userRepository; /** * セッション */ @Autowired HttpSession session; /** * 会員情報の変更入力画面表示処理 * * @param model Viewとの値受渡し * @param form 会員情報フォーム * @return "user/update/user_update_input" 会員情報 変更入力画面へ **/ @RequestMapping(path = "/user/update/input", method = RequestMethod.POST) public String updateInput(boolean backFlg, Model model, @ModelAttribute UserForm form) { // 戻るボタンかどうかを判定 if (!backFlg) { // 変更対象の会員情報を取得 User user = userRepository.getOne(form.getId()); UserBean userBean = new UserBean(); // Userエンティティの各フィールドの値をUserBeanにコピー BeanUtils.copyProperties(user, userBean); // 会員情報をViewに渡す model.addAttribute("user", userBean); } else { UserBean userBean = new UserBean(); // 入力値を会員情報にコピー BeanUtils.copyProperties(form, userBean); // 会員情報をViewに渡す model.addAttribute("user", userBean); } return "user/update/user_update_input"; } /** * 会員新規登録の入力エラー時 * * @return "user/update/user_update_input" 会員情報 変更入力画面へ */ @RequestMapping(path = "/user/update/input", method = RequestMethod.GET) public String updateInputError() { return "user/update/user_update_input"; } /** * 会員情報 変更確認処理 * * @param model Viewとの値受渡し * @param form 会員情報フォーム * @param result 入力チェック結果 * @return * 入力値エラーあり:"redirect:/user/update/input" 会員情報登録画面へ * 入力値エラーなし:"user/update/user_update_check" 会員情報 変更確認画面へ */ @RequestMapping(path = "/user/update/check", method = RequestMethod.POST) public String updateCheck( Model model, @Valid @ModelAttribute UserForm form, BindingResult result, RedirectAttributes redirectAttributes) { // 入力値にエラーがあった場合、会員情報 変更入力画面表示処理に戻る if (result.hasErrors()) { redirectAttributes.addFlashAttribute("org.springframework.validation.BindingResult.userForm", result); redirectAttributes.addFlashAttribute("user", form); return "redirect:/user/update/input"; } return "user/update/user_update_check"; } /** * 会員情報変更完了処理 * * @param model Viewとの値受渡し * @param form 会員情報 * @param redirectAttributes リダイレクト後情報保持 * @return "user/update/user_update_complete" 会員情報 変更完了画面へ */ @RequestMapping(path = "/user/update/complete", method = RequestMethod.POST) public String updateComplete(Model model, @ModelAttribute UserForm form,RedirectAttributes redirectAttributes) { // 変更対象の会員情報を取得 User user = userRepository.findById(form.getId()).orElse(null); // 会員情報の削除フラグを取得 Integer deleteFlag = user.getDeleteFlag(); // 会員情報の登録日付を取得 Date insertDate = user.getInsertDate(); // 入力値をUserエンティティの各フィールドにコピー BeanUtils.copyProperties(form, user); // 削除フラグをセット user.setDeleteFlag(deleteFlag); // 登録日付をセット user.setInsertDate(insertDate); // 会員情報を保存 userRepository.save(user); // セッションからログインユーザーの情報を取得 UserBean userBean = (UserBean) session.getAttribute("user"); // 変更対象の会員が、ログインユーザと一致していた場合セッション情報を変更 if (user.getId().equals(userBean.getId())) { // Userエンティティの各フィールドの値をUserBeanにコピー BeanUtils.copyProperties(form, userBean); // 会員情報をViewに渡す session.setAttribute("user", userBean); } // 会員IDをViewに渡す redirectAttributes.addFlashAttribute("userId" , form.getId()); return "redirect:/user/update/complete"; } /** * 会員情報変更完了画面表示 * * @return "user/update/user_update_complete" 会員情報 変更完了画面へ */ @RequestMapping(path = "/user/update/complete", method = RequestMethod.GET) public String updateCompleteRedirect() { return "user/update/user_update_complete"; } }

みんなの回答

  • kuzuhan
  • ベストアンサー率57% (1586/2775)
回答No.1

ソースがすべて読み込みできないていない状態かと思われます。 時間をおいて再度行ってみるか、ブラウザソフトを変えてやってみるぐらいしかありません。 現象が続くようであれば当該サービスの問い合わせ窓口へお問い合わせしてください。

関連するQ&A

  • FORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

       以下のような画面を作りたいのですが↓ -------------------------------------------------------------------------------- ● a.php (ユーザ情報入力画面) ※フォームに入力する画面    <FORM method="POST" action="b.php">   <INPUT type="text" name="mail">   <INPUT type="submit" name="submit" value="確認">  </FORM> ● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面  <FORM method="POST" action="c.php">   <!-- ここには、フォームに入力された値を表示する -->   <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する   <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る  </FORM> ● c.php (完了画面) -------------------------------------------------------------------------------- b.php について質問なのですが、 b.phpにおいて、登録ボタンと戻るボタンを2つつけて、 それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・? <FORM method="POST" action="c.php">と書いてしまうと、 戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね?? こういう場合ってJavaScriptとかで遷移先を指定するんですか・・? もしそうでしたら、JavaScriptがよくわからないので できればサンプルコード示していただけると助かります・・・。   

  • INPUT上でリターンを押してもsubmitされない方法

    フォームにてキーワードを入力し、検索ボタン押したときに javascriptにて以下の動作をさせたいと思っています。  ・hidden項目に特定値をセットしてsubmitをかける 以下のコードを書いたのですが、INPUT上でリターンを押すと submitされてしまいます。 ボタン以外でリターンを押した場合に何も動作させないようにするにはどのようにすればよいのでしょうか? -------------------------------------------------------------- <SCRIPT language="JavaScript"> <!-- function javasc_name(param){ document.form.PARAM.value = param document.form.submit() } //--> </SCRIPT> <form method="POST" action="cgi-bin/xxx.exe"> <input type="text" name="KEYWORD"> <input type="hidden" name="PARAM"> <input type="button" value="検索" OnClick="javasc_name(10)"> </form> --------------------------------------------------------------

    • ベストアンサー
    • HTML
  • PHPで、エラーがない場合のみ画面遷移させたい

    PHPのプログラムを作成しています。 動きとしては、 1.ユーザに値を入力させる 2.ユーザが入力した値をエラーチェックする 3.エラーチェック結果、もしエラーがなければ次の画面へ遷移し、エラーがあればメッセージを画面表示 という動きです。 (教えて!gooのような動きをさせたいのですが・・・) 2まではできていますが、3で困っています。 エラーがあればメッセージを画面表示するのはできましたが、エラーがない場合に次の画面へ移動する、というのはどのように実装すれば可能でしょう。 現在のソースは以下のような流れです。 ---------------------------------------------------------- <?php  $getChar = $_POST["char"] /*--- エラーチェック ---*/  if( isset( $_POST["send"] ) ) {   if( strcmp( $getChar, "" ) == 0 ) { // 空の場合はエラー   $strErr = "エラーメッセージ";   }   echo $strErr;  // ★  } ?> <form method="POST" action="#" name="form">  名前:<input type="text" name="char">  <input type="submit" name="send" value=\"送信\"> </form> ---------------------------------------------------------- 現在は上のような流れで処理を行っています。 今はエラーがある場合はエラーメッセージを表示(★部)し、ない場合はエラーメッセージを表示せず、画面遷移も行いません。 本当はエラーがない場合は次の画面へ遷移をさせたいのですが、どのように指定をさせたら良いのでしょうか。 すみませんが、ご回答よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpのログイン後の画面遷移について

    現在、phpで会員制サイトを作成する勉強をしています。 開発環境はxamppでMySQLデータベースにPDOで接続しています。 よく、会員制サイトで、非会員又は未ログイン状態でも、ある程度までページが閲覧でき、 詳しいページを閲覧するにはログイン又は新規会員登録を促すといった仕組みを見かけます。 そのような場合、ログイン後、画面は元のページ(ログイン前に操作していたページ)に戻る必要があると思うのですが、 この場合のphpプログラムは、 ログイン画面に遷移する前のページで empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); でページのURLを取得し、 ログイン画面のページへ移動するためのボタンが押されたらinput-type="hidden"でログイン画面のページにURLを受け渡し、 ログインが成功したら取得したURLに遷移させる という流れで正しいでしょうか? また、非会員が会員登録する場合のページ遷移に関して少し疑問に思うことがあります。 大体非会員のユーザーが新規登録する場合、 新規登録フォームより会員登録後はログイン状態でTOPページに戻ることが多いですが、 それが一般的でしょうか? 会員登録後に登録前に閲覧していたページに遷移させられればユーザーにとっては一番親切だとは思いますが、 最近ではほとんどのサイトが『仮登録用に入力されたメールアドレス宛に本登録用のURLを記載して送信する』という会員登録方法を使用していますが、 前にいたページに遷移させるというのは物理的に難しいため、会員登録後はTOPページに戻しているのでしょうか? また、ログインが必要なページでは issetでセッション変数に情報が含まれているかどうかで、ログイン画面を表示するか 会員閲覧ページを表示するか分岐させると思いますが、 このプログラムはしょっちゅう使われると思うので 別ファイル化して呼び出すのが賢明でしょうか? ご回答、よろしくお願いします。

    • 締切済み
    • PHP
  • 条件により、リンク先に画面遷移しないようにする方法

    リンクボタンを押したときに、同じフォーム内の、他の入力内容をチェックして、その結果によってはリンクを無効にして画面遷移しないようにしたいのですが、可能でしょうか。 分らないながら、ソースを作成してみたのですが、うまくいきませんでした。どなたか、ご存知でしたら、お願いします。 下のサンプルの場合は、名前が入力されている時は次画面に遷移し、入力されていない場合は、メッセージを表示して、現画面にとどまるようにしたいのです。 <script type="text/javascript"> <!-- //************************* function funcCheck(){ //************************* var v; v = document.myform.in_name.value; alert("document.myform.in_name.value=" + v ); if(v == ""){ alert("名前を入力してください"); return false; }else{ return true; } } //--> </script> <head> </head> <body> <form name="myform"> 名前:<input type=text name="in_name" value=""> <a href="xxx.htm" onclick="funcCheck()">チェック</a> </form> </body> </html>

  • IEのオートコンプリートの挙動を制御したい

    プログラマーです。 あるWEBの画面で、ログイン用のユーザ名入力欄、パスワード入力欄、ログインボタンと、 ログインしないで実行出来るある機能のテキスト入力欄、実行ボタンがあるとして、 下記のようなミニマムコードを書いてみました。 これをIEで、オートコンプリートが有効な状態で表示させ、ユーザ名、パスワードを入力して ログインボタンを押すと、ユーザ名、パスワードが次回からオートコンプリートで候補表示されます。 しかし、ログインしないで実行出来る機能の入力欄の全てにもユーザ名が候補表示されるという 現象が起こります。 これを回避する方法はないでしょうか。 HTMLソース---------------------------------- <html> <body> <form name="loginLess"> other1<input name="uid" type="text" /><br> other2<input name="pwd" type="text" /><br> <input type="submit" name="loginLessBtn" value="login不要機能" /> </form> <form name="login"> user<input name="uid" type="text" /><br> pass<input name="pwd" type="password" /><br> <input type="submit" name="loginBtn" value="login" /> </form> </body> </html>

  • graphvizの使い方

    初めてgraphivzをしているのですが、このプログラムを実行すると digraph sample3 { node [ fontname = "meiryo" shape = box ]; form [ label = "会員情報入力画面" ]; confirm [ label = "会員情報入力確認画面" ]; finish [ label = "会員情報入力完了画面" ]; form -> confirm [ dir = both ]; confirm -> finish; } 以下のようなエラーが表示されます。どう直したらよいでしょうか。 Error: Invalid 3-byte UTF8 found in input. Perhaps "-Gcharset=latin1" is needed?

  • ログイン判定後の画面遷移について

    以下テキストボックスに、 1.ログインID、パスワードを入力させたいと考えています。 2.ログインに成功したら、「member.phpにページを遷移する」ようしたいと考えています。  ログインに失敗したら「top.php」を再表示させたいと考えています。 .以下のように記述すると、member.phpで処理が動いてしまうのですが 2のようにログイン条件の成功の有無で表示するページを切り替えるにはどうしたらいいでしょうか? ご教授お願いします。 ==top.php====== <body> <div id="content"> <h1>ログイン画面</h1> <form action="member.php" method="POST"> <dl> <dt>ログインID:</dt> <dd><input type="text" name="l_id"></dd> <dt>パスワード:</dt> <dd><input type="password" name="l_pass"></dd> </dl> <p><input type="submit" name="submit" value="ログイン"></p> </form> </div>

    • ベストアンサー
    • PHP
  • 結果を別画面(別ウィンドウ)に表示する方法について

    現在、springフレームワーク3.0を利用していますが、submit処理をコントローラーで処理した後、結果を別ウィンドウで表示する方法について悩んでいます。 HTML(JSP) <form:form modelAttribute="hogeform" id="hogeid" method="POST"> <form:textarea path="hogeText" /> <button type="button" onclick="save()">保存</button> <button type="button" onclick="preview()">プレビュー</button> </form:form> <script type="text/javascript"> function save(){ document.forms["hogeid"].action="./save"; document.forms["hogeid"].submit(); } function preview(){ document.forms["hogeid"].action="./preview"; document.forms["hogeid"].submit(); } </script> Controller.java @RequestMapping(value="/save", method=RequestMethod.POST) public String hogeSave(@ModelAttribute("hogeform") HogeForm param, BidingResult result, HttpServletRequest request, HttpServletResponse response, Model model){ ~ビジネスロジック~ model.addAttribute("hogeform", param); return "saveok"; //←saveok.jspは同一ウィンドウ遷移 } @RequestMapping(value="/preview", method=RequestMethod.POST) public String hogePreview(@ModelAttribute("hogeform") HogeForm param, BidingResult result, HttpServletRequest request, HttpServletResponse response, Model model){ ~ビジネスロジック~ model.addAttribute("hogeform", param); return "preview"; //←preview.jspを別ウィンドウで表示したい } 上記のように同じフォームオブジェクトを押されたボタンによってそれぞれ別のアクションに渡しているのですが、 saveの時は画面遷移、previewの時は別ウィンドウに遷移させたいと思っています。 previewは保存結果呼び出し時の画面と同じjspを再利用する事で、リソースの節約が出来る事と、 入力途中の状態を維持するので、別ウインドウ表示の方が一般的かなと思っています。 プレゼン層側のjavascriptでwindow.open()を実施後に呼び出すしか方法はないのでしょうか? それともspringフレームワークで簡単に実装できる方法等ありますでしょうか? 色々と探してみましたが、あまり情報が少なく(spring自体が日本であまり普及していない) ちょっと困っています。 最悪、単なる画面遷移で対応しようかとも思っていますが、お知恵があればよろしくお願い致します。

    • ベストアンサー
    • Java
  • エラーページ遷移後に入力値を残す

    いつも参考にさせて頂いています。 strutsでアプリを作っています。 入力チェックをして不備があるとstrutsの<html:erros />タグにてエラーメッセージを表示しているのですが、その際に入力した値を残す処理ができなくて困っています。 私が思っていたのはrequestスコープにActionFormの値を設定すればいいのかな?と思っていたのですがうまくいきません。 (画面遷移、エラーメッセージ表示はできていますが、入力された値は消えてしまいます) 以下にソースの載せますのでご教授宜しくお願いします。 ■postでリクエストを投げるjsp <form action…> <input type="text" name="requestDto.nameKanji"> </form> ■値を取得したサーブレット //パラメータをアクションフォームから取得 TestActionForm actionForm = (TestActionForm)form; ActionMessages messages = new ActionMessages(); // 入力チェック inputCheck(actionForm, messages); // エラー処理 if(messages.size() != 0) { saveErrors(request, messages); ActionForm form = new ActionForm(); form.setRequestDto(actionForm.getRequestDto) // ここでアクションフォームをリクエストスコープに設定 request.setAttribute("ActionForm ", form); return ( mapping.findForward("error") ); } リクエストスコープに入れる名前、もしくは値が間違っているのでしょうか? どうか宜しくお願いします。 開発環境 jdk1.4_12 tomcat5.0 struts1.2