0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java基礎知識 研修備忘録 24日目~29日目

Last updated at Posted at 2025-08-14

nullの比較

eqaulsメソッドでnullを比較するとNullPointerExceptionが発生する
⇒nullとの比較は==(等価演算子)

addAttributeを使ったメッセージ出力


message→変数
エラー→例文

Controller側

Model model = new Model();
model.addAttribute("message","エラー");

html側

<p th:text= "${message}"></p>

⇒該当部分が「エラー」と表示される

モーダルウィンドウの表示

モーダルウィンドウとは:閉じるまで他の操作が行えない=メッセージや警告に使用

Bootstrapを用いた実装方法

1.headタグ内にBootstrapのCSSとJavaScriptのリンクを追加
①ローカルのファイルのパス
②オンラインのCDNのリンク

2.モーダルを開くボタンを以下のように設定する
・input type="button"
・value="(表示される文字列)"
(classでCSSの見た目を設定)
・data-bs-toggle="modal"
・data-bs-target="#(モーダルのID)"

3.divタグ内にモーダルの内容を記述
・id="(2で設定したモーダルのID)"
・tabindex="-1"
・aria-labelledby="(任意)"
・aria-hidden="true"

4.文字の大きさに合わせてh5などのタグを設定し、classなどを設定
 idはaria-labelledbyで指定したものを設定しタグの間にモーダルのヘッダを記入

5.divaタグ内部にメッセージ本文を記入

6.次のdivタグの間に選択肢の数に応じてbuttonタグを設定
・type="submit"
・name="(任意)"

7.JavaのController側にて@PostMappingのアノテーションによりメソッドと結びつける
@PostMapping(value="(どのURLに対して応答するのか)",name="6で指定したもの")

8.Stringを戻り値として処理を書く
returnで遷移するリンク先を記述

繰り返しの条件で生成された、チェックが付いたチェックボックスに対する削除処理

1.formタグで以下を設定
・id="(任意)"
・method="post"
・th:action="(遷移するページのControllerとマッピング)"
・th:object="{(Beanを設定)}"

2.クリックするボタンをbuttonタグで以下のように設定
・type="(buttonもしくはsubmit)"
・onclick="(JavaScriptのスクリプト名で設定)"

3.forEachタグで生成した繰り返しの下にチェックボックスをinputタグで以下のように設定
・type="checkbox"
・name="(任意)"
・class="delete-checkbox"
・th:value="${(1のobjectで設定したBean).id}"

4.jsファイルまたはhtmlファイルのscriptタグに以下を書く

function (2で設定したスクリプト名){
    const (変数①) = Array.from(document.querySelectorAll('.delete-checkbox:checked').map(checkbox=>checkbox.value));
    if((変数①).length === 0){
        alert("(エラーメッセージ)");
        return;
    }

    if(confirm((変数①).length + "件の行を削除"){
        const (変数②) = document.getElementById('(1で設定したID)');
        変数①.forEach(id =>{
            const (変数③) = document.createElent('input');
            (変数③).type = 'hidden';
            (変数③).name = '(3で設定したID)';
            (変数③).value = id;
            (変数②).appendChild((変数③));
        });
    }

        (変数②).submit();
}

5.@PostMapping("(リンク)")のアノテーションをControllerのメソッドの上に記述

6.Controllerのメソッドの引数に以下のアノテーションを付与、List<(idの型)>で受け取る
@RequestParam(name = "(3で設定したname)",required = false)

7.戻り値はStringで、5で設定したリンクをreturnする

8.メソッド内でDBにアクセスしてdeleteする処理を記述
(具体的なSQL文はマッパーファイルおよびxmlファイルで)

チェックボックスを全てチェックする

1.対象チェックボックスをinputタグで削除

2.全てチェックする処理を実行するボタンをbuttonタグで作成
・type="button"
・onclick="(スクリプト名)"

3.htmlのscriptタグまたはjsファイルに記述

function (2で設定したスクリプト名){
    let (変数①) = document.querySelectorAll('input[type="checkbox"][(その他条件)]');
    (変数①).forEach(function(checkbox){
        checkbox.checked = true;
    });
}

※3のfunctionのforEach内のcheckedをtrueではなくfalseに変えると全てのチェックを外す処理に変えることができる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?