質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

1回答

621閲覧

プルダウン内容を他ファイルから取得する

tsukasada

総合スコア45

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2022/04/13 01:46

編集2022/04/19 10:45

Spring Tool Suite<version>2.1.2.RELEASE
Java <version>8
PostgreSQL<version>9.6
でパスワード再設定画面でメールアドレスの右側に権限のプルダウンを追加する。プルダウン内容は「LmsUserRoleEnum.java」から取得する。
という課題を行っているのですが、パスワード再設定画面にて、権限のプルダウン内容を「LmsUserRoleEnum.java」から取得することができず、困っています。

ヒント画面で、「画面で選択した権限をFORMに受け取り、そちらをPasswordServiceに渡していただくようになります。」
とありますが、「LmsUserRoleEnum.java」のなにを「PasswordService.java]に渡したらよいのでしょうか?

java

1コード LmsUserRoleEnum.java 2package jp.co.sss.lms.enums; 3 4import jp.co.sss.lms.util.Constants; 5 6/** 7 * 権限名称変換 8 * 9 * @author 東京ITスクール 10 */ 11public enum LmsUserRoleEnum { 12 STUDENT(Constants.CODE_VAL_ROLL_STUDENT, "受講生"), TEACHER(Constants.CODE_VAL_ROLL_TEACHER, "講師"), 13 COMPANY_SUBSIDY(Constants.CODE_VAL_ROLL_COMPANY, "企業担当者"), ADMIN((Constants.CODE_VAL_ROLL_ADMIN), "管理者"), 14 COMPANY_TRAINING(Constants.CODE_VAL_ROLL_TRAINING, "育成担当者"),; 15 16 public String code; 17 public String value; 18 19 private LmsUserRoleEnum(String code, String value) { 20 this.code = code; 21 this.value = value; 22 } 23 24 public static LmsUserRoleEnum getEnum(String code) { 25 for (LmsUserRoleEnum e : LmsUserRoleEnum.values()) { 26 if (e.code.equals(code)) { 27 return e; 28 } 29 } 30 return null; 31 } 32 33}

java

1コード 2PasswordController.java 3/** 4 * ログイン画面からパスワード再設定画面 5 * 6 * @return resetPasswordへの遷移 7 */ 8 @RequestMapping(value = "/resetPassword", method = RequestMethod.GET) 9 public String index(@ModelAttribute MailAddressForm form, Model model) { 10 11 // 設定ファイルのメール送信フラグが0の場合、メッセージ表示処理を追加 12 boolean sendFlg = messageUtil.getMessage("setting.mail.send.flg").equals("0") ? true : false; 13 model.addAttribute("sendFlg", sendFlg); 14 15 return "/password/resetPassword"; 16 } 17 18 /** 19 * resetPasswordからcompleteへの遷移<br> 20 * ※送信ボタン押下時<br> 21 * 22 * @return completeへの遷移 23 */ 24 @RequestMapping(value = "/resetPassword/complete", method = RequestMethod.POST) 25 public String complete(@ModelAttribute MailAddressForm mailAddressForm, BindingResult result, HttpServletRequest request, Model model) { 26 27 // 入力値のバリデーションチェック 28 if (result.hasErrors()) { 29 return "/password/resetPassword"; 30 } 31 32 passwordService.registTemporaryPassStorage(mailAddressForm.getMailAddress()); 33 34 String sendFlg = messageUtil.getMessage("setting.mail.send.flg"); 35 if (!sendFlg.equals("0")) { 36 passwordService.sendPasswordResetMail(request, mailAddressForm.getMailAddress()); 37 } 38 39 model.addAttribute("mailAddress", mailAddressForm.getMailAddress()); 40 model.addAttribute("timeLimit", messageUtil.getMessage("setting.timelimit.hour")); 41 42 return "/password/complete"; 43 }

java

1コード 2PasswordService.java 3/** 4 * パスワード変更テーブル登録処理 5 * 6 * @param mailAddress 7 */ 8 public void registTemporaryPassStorage(String mailAddress) { 9 10 MUser mUser = mUserMapper.findByMailAddress(mailAddress, Constants.DB_FLG_FALSE); 11 12 if (mUser == null) { 13 StringBuffer sb = new StringBuffer("パスワードリセット画面で入力されたメールアドレスは存在しません。[" + mailAddress + "]"); 14 loggingUtil.appendLog(sb); 15 logger.info(sb.toString()); 16 return; 17 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2022/04/13 05:00

コードのマークダウンの「```」は、開始側は「```java」("java"が言語)のみ、終了側は「```」のみの単独行としてください。
tsukasada

2022/04/13 05:59

かしこまりました。
jimbe

2022/04/13 06:47

ありがとうございます。
guest

回答1

0

自己解決

resetPassword.html

1resetPassword.html 2<!doctype html> 3<html xmlns:th="http://www.thymeleaf.org"> 4<head> 5 <title>Thymeleaf</title> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 7</head> 8<body> 9 10 <form action="resetPassword"> 11 12 <div class="pull-down" style="text-align: left;"> 13 <label>権限</label> 14 <select th:name="code" style="width: 150px;"> 15 <option th:each="role : ${roles}" th:value="${role.code}" th:inline="text">[[${role.value}]]</option> 16 </select> 17 </div> 18 19 <input type="submit"> 20 </form> 21 <p th:if="${selected != null}">前回は「[[${selected.value}]]」が選択されています。</p> 22 23</body> 24</html>

PasswordController.java

1package jp.co.sss.lms.controller; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.ui.Model; 5import org.springframework.web.bind.annotation.ModelAttribute; 6import org.springframework.web.bind.annotation.RequestMapping; 7import org.springframework.web.bind.annotation.RequestMethod; 8 9import jp.co.sss.lms.enums.LmsUserRoleEnum; 10import jp.co.sss.lms.form.MailAddressForm; 11 12/** 13 * パスワードコントローラー 14 * 15 * @author 16 */ 17@Controller 18@RequestMapping("/password") 19public class PasswordController { 20 21 /** 22 * ログイン画面からパスワード再設定画面 23 * 24 * @return resetPasswordへの遷移 25 */ 26 @RequestMapping(value = "/resetPassword", method = RequestMethod.GET) 27 public String index(@ModelAttribute MailAddressForm form, Model model) { 28 29 LmsUserRoleEnum[] roles = LmsUserRoleEnum.values(); 30 model.addAttribute("roles", roles); 31 32 LmsUserRoleEnum selected = LmsUserRoleEnum.getEnum(form.getCode()); 33 model.addAttribute("selected", selected); 34 35 return "/password/resetPassword"; 36 } 37}

MailAddressForm.java

1package jp.co.sss.lms.form; 2 3import lombok.Getter; 4import lombok.Setter; 5 6public class MailAddressForm { 7 8 @Getter 9 @Setter 10 private String code; 11}

Constants.java

1package jp.co.sss.lms.util; 2 3public class Constants { 4 5 public static String CODE_VAL_ROLL_STUDENT = "000"; 6 public static String CODE_VAL_ROLL_TEACHER = "001"; 7 public static String CODE_VAL_ROLL_COMPANY = "002"; 8 public static String CODE_VAL_ROLL_ADMIN = "003"; 9 public static String CODE_VAL_ROLL_TRAINING = "004"; 10}

でできました。

投稿2022/04/19 01:45

tsukasada

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問