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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

1回答

2971閲覧

th:ifの{}内にかく条件が分からないです。

syuumainikaku

総合スコア0

Java

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2020/11/21 04:05

編集2021/05/24 02:06

前提・実現したいこと

現在spring bootでhtmlに配列の中身を表示するコードを作成しております。controllerの配列に入っている名前をマップに格納し、リストで表示させるところまではできたのですが、htmlに表示する際にチームの文字の下にそれぞれ6人ずつ縦に並べて表示したいのです。

発生している問題・エラーメッセージ

htmlにてth:ifを使って条件分岐で表示させるのではと考えたのですが、th:if{}の{ }内に入れる条件が分かりません。この{}に入れる条件を教えていただけますでしょうか。

該当のソースコード

//TeamController.java package com.example.mvc.controller; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @Controller public class TeamController { @Autowired HttpSession session; @GetMapping("/input") public String input() { return "input"; } @PostMapping("/team") public String setTeam(Model model) { String[] name= {"佐藤 ","鈴木 ","高橋 ","田中 ", "伊藤 ","渡辺 ","山本 ","中村 ", "小林 ","加藤 ","吉田 ","山田 ", "山口 ","松本 ","井上 ","木村 ", "佐々木","斎藤 ","清水 ","山崎 ", "池田 ","橋本 ","阿部 ","石川 ", "山下 ","中島 ","石井 ","森  ", "小川 ","長谷川","前田 ","岡田 ", "後藤 ","林  ","近藤 ","村上 "}; List<Map<String, String>> list = new ArrayList<Map<String, String>>(); for(int i = 0; i < name.length; i++) { Map<String, String> map = new HashMap<String, String>(); map.put("name", name[i]); list.add(map); } Collections.shuffle(list); model.addAttribute("list", list); return "output"; } }
<!--output.html--> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>抽選完了</title> </head> <body> <span> チームA | チームB | チームC | チームD | チームE | チームF</span> th:if="${ }" <span th:each="str, item:${list}"> <span th:text="'&nbsp&nbsp' + ${str.name}"></span> </span> </body> </html>
<!--input.html --> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>チーム抽選</title> </head> <body> <form method="post" action="/team"> <input type="submit" value="チーム決め"> </form> </body> </html> ``` 使っているspringのバージョンは2.1.1です。 input.htmlのボタンを押すとoutput.htmlにとび、チームの表が出る流れとなっております。 以上、よろしくお願いいたします。

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

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

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

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

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

K_3578

2021/05/20 00:45

質問の内容を意図的に改変、削除するのは禁止です。 編集で内容を消したところで誰でも編集履歴から内容を確認出来ます。 何かしらの理由が有って質問内容を削除したいなら運営への問い合わせから相談して下さい。 https://teratail.com/contact/input
guest

回答1

0

↓これで、一歩前進って感じだと思います。

html

1<body> 2 <span> チームA | チームB | チームC | チームD | チームE | チームF</span><br /> 3 <span th:each="str, item:${list}"> 4 <span th:text="'&nbsp&nbsp' + ${str.name}"></span> 5 <br th:if="${item.index % 6 == 5}" /> 6 </span> 7</body>

th:ifを使って、6人ごとに<br />を出力してます。
動かしてみると、↓こうなります。

イメージ説明

投稿2020/11/21 16:31

gpsoft

総合スコア1323

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

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

syuumainikaku

2020/11/22 02:24

ご回答いただきありがとうございます!!条件に合った時に<br/>を出す方法もわからなかったため、非常に助かります。これでまた進めていけそうです。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問