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

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

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

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

Spring

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

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

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

Q&A

解決済

1回答

2974閲覧

Java checkboxより配列情報を受け取りたい

encho

総合スコア182

Java

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

Spring

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

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

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

0グッド

0クリップ

投稿2020/03/11 02:40

編集2020/03/11 02:41

#checkboxをより配列の情報を受け取りたい
以下のようにcheckboxを設定して配列でsubjectの情報を送ろうとしています。
subListにはDBから取り出したSubject型のインスタンスが入っています。
どなたかアドバイスといただけると幸いです。
よろしくお願いいたします。

##フォーム

html

1<!DOCTYPE html> 2<html xmlns:th="http://www.thymeleaf.org" 3 xmlns:sec="http://www.thymeleaf.org/extras/spring-security"> 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6<title>Insert title here</title> 7</head> 8<body th:with="user=${#authentication.principal.user}"> 9<form th:action="@{'/profile/teacherEdit/'+${user.userId}}" 10 th:object="${teacherEditForm}" method="post"> 11 <div> 12 <label for="subject">指導可能な教科</label> 13 </div> 14 <div th:each="subject : *{subList}"> 15 <input type="checkbox" th:value="${subject}" 16 name="selectedSubjects" th:text="${subject.subjectName}" /> 17 </div> 18 <div> 19 <input type="submit" value="プロフィールを変更" /> 20 </div> 21 <div> 22 <a th:href="@{'/profile/'+${user.userId}}">プロフィール画面に戻る</a> 23 </div> 24</form> 25</body> 26</html>

##controller

java

1//controller送信された情報を受け取る 2Subject[] selectedSubjects = teacherEditForm.getSelectedSubjects(); 3 for(Subject value:selectedSubjects) { 4 user.addSubject(value); 5 } 6 userRepository.save(user);

##FormClass

java

1public class TeacherEditForm { 2 //教科の出力 3 private List<Subject> subList = new ArrayList<>(); 4 //教科の入力値を受け取る 5 @Size(max=5,message="教科数の選択は5つまでです。") 6 private Subject[] selectedSubjects; 7 //getter,setter 8 9} 10

##画面に表示されるエラー
Subject型の配列として情報を送りたいのですが
StringからIntegerへの変換はできないと怒られてしまします。
イメージ説明

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

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

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

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

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

guest

回答1

0

自己解決

Stringかintでしか情報を送れないようです。
出直してきます

投稿2020/03/11 02:45

encho

総合スコア182

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問