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

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

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

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Thymeleaf

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

Q&A

解決済

1回答

12740閲覧

thymeleaf 複数条件

退会済みユーザー

退会済みユーザー

総合スコア0

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Thymeleaf

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

0グッド

0クリップ

投稿2019/08/26 01:29

編集2019/08/27 00:30

html

1 2<td th:disabled="${---条件式---}? 'A': 'B'"/> 3

thymeleafからできました。ありがとうございます。
今複数条件を埋め込みたいのです。条件式が一致した場合、Aと表示をして、かつ非活性にしたいです。

<td th:text="${---条件式---}? 'A' : 'B'"/>ではなく <td th:disabled="${---条件式---}? 'A' : 'B'"/>に変えました。

条件式が一致した場合、Aと表示をして、かつ非活性にしたい場合、この文で大丈夫か教えて頂きたいです。

例 もし受けた値が”tokyo”の場合、日付きを表示させ、かつ非活性にする

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

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

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

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

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

m.ts10806

2019/08/26 01:34

Java 、Spring(たぶんbootのほう)はタグに必要に思います。 DTOとなるとThymeleafのようなビュー側ではなくあくまで内部処理やデータの持ち方なので。
azuapricot

2019/08/26 01:34

DTO DTO とおっしゃっていますが、DTOっぽいものがどこにも書かれていないような。
azuapricot

2019/08/26 01:36

ArrayList<CityList> CityList = new ArrayList<CityList>(); String text='fukuoka'; model.addAttribute("CityList", CityList); ここも何がやりたいかよくわかりません。 福岡って値つめるまえに addAttributeしてるような。 何がしたいんでしょう。
m.ts10806

2019/08/26 01:36

それにコードと要件の説明が全く足りていません。 CityListも必要ですし、textをどう使いたいのかとかjQueryがどう関係するのかとか、このプログラムの仕様部分、要件部分を他者に分かるように具体的に記載してください。
退会済みユーザー

退会済みユーザー

2019/08/26 01:53

まず、thの東京のところでdbから’tokyo’という値が渡されると、tdに氏名が表示されます。 jQueryで条件が’tokyo’なら表示する。’fukuoka"という値なら何も表示しないという使用にしたいです。jQueryの文が正しいのか確認をとりたいです。thymeleafが値を取得できるようにまずしたいのですが、どのように値を渡せばいいのかがわからないです。
m.ts10806

2019/08/26 01:55

質問を編集して諸々追記、調整してください。 ちなみに 「jQueryで条件が’tokyo’なら表示する。’fukuoka"という値なら何も表示しないという使用にしたいです。jQueryの文が正しいのか確認をとりたいです」これは全く意味が分かりません。
退会済みユーザー

退会済みユーザー

2019/08/26 01:58

表示非表示の条件式ですが、
azuapricot

2019/08/26 02:01

ゆっくりでいいので、質問文を編集しましょう。 質問の意図が汲み取れないので回答者はここに記入します。 ここで説明しても結局質問文がそのままではわかりにくいままです。
m.ts10806

2019/08/26 02:01

jQueryなど必要なくth:ifでできるんでは。 だから要件不明瞭なので本当にjQueryが必要かどうかすら答えられません。 要件を明確にしてください。(他者に確実に伝わる表現で)
azuapricot

2019/08/26 02:04

そもそもまずjQueryが確認したいなら、thymeleafからは文字列とかだけ送ってみればよいのでは? 今回だと変にリスト?につめて渡そうとしてますが、リストに詰めるのが失敗しているのか、表示に失敗しているのか、jQueryがおかしいのか問題点がわかりにくくなります。 なら最初から、まずは文字列だけ画面にaddAttribute()してみては? https://qiita.com/opengl-8080/items/eb3bf3b5301bae398cc2
azuapricot

2019/08/26 02:05

たしかに thymeleaf使ってるなら中身をif文で分岐できたはずですね。 jQueryは不要なきがしますね
m.ts10806

2019/08/26 02:18

>model.addAttribute("CityList", CityList); これを書いておきながら「渡し方が分からない」というのも分かりませんね。
退会済みユーザー

退会済みユーザー

2019/08/26 02:21

そのコードで動かなかったのでそう書きました。
azuapricot

2019/08/26 02:25

動かなかった=どういうことでしょう? 値が受け取れなかったってことでしょうか。 CityList という名前で渡したなら、 CityListという名前で引き出してあげないと受け取れませんよ。
m.ts10806

2019/08/26 02:31 編集

その動かないコードというのを提示しないと何が間違ってるか指摘しようがないですね。本当に動くコードだけ扱ってても自力は上がりませんよ。 すんごく簡単に書くならこう(もはやDTOが何か頑として提示されないなら仕方ない) Java model.addAttribute("text", text); Tymeleaf <th id="text" th:text="${text}">東京</th> <td th:if="${!text.equals('fukuoka')}"><span th:text="${city.tokyo}"></span></td> DTOで使いたいとかいうのでしたらそのDTOに置き換えてください。 (というよりJavaの基礎部分が抜けているように見えますので話が全然かみ合ってません)
m.ts10806

2019/08/26 10:29

タイトル変わってないのに質問内容がガラッと変わっている。 「意図的に抹消された質問」ということでよろしいでしょうか。
退会済みユーザー

退会済みユーザー

2019/08/26 11:25

そういうつもりではありませんでしたが、そうとらえられたなら以後きをつけます。
m.ts10806

2019/08/26 11:42

まあ初めからDTO関係ない内容で戸惑っていますけど。解決する気があるのでしたら質問内容きちんとしてください。これで投げられても誰もアドバイスできません
退会済みユーザー

退会済みユーザー

2019/08/26 12:11

質問項目に書いた内容を質問したいです。
m.ts10806

2019/08/26 12:14

DTOはもう良いと?タイトルこれでいいんですか? ただ今の書き方だとどうなってここに至ったのかわかりませんしどういうデータをもとにどうしたいのかも詳しく書く必要があります
退会済みユーザー

退会済みユーザー

2019/08/27 00:13

DTOを使わずできることが分かったのでまずはthymeleafでの書き方を試してからにしたいです。 ある条件の時にAを表示させ、かつ非活性にする場合の非活性要件をうめこみたいです 例 もし受けた値が”tokyo”の場合、日付きを表示させ、かつ非活性にする をかきたいです
m.ts10806

2019/08/27 00:17

指摘が伝わってないみたいですが >DTO実装がうまくできないです このタイトルでこの質問内容だと整合性とれません。 それに調べられたら分かりますが、thymeleafのif内には通常Javaで書くのと同じような条件式が書けます。 ご自身でまずJavaの条件式をきちんと書いてから試しては如何でしょうか。 ただ、条件式を書きまくるのはビューも汚くなるのでなるべく「表示するだけのデータを渡す」のが望ましいのは言うまでもありません(あまりロジックをビューに書くものではないので)
m.ts10806

2019/08/27 00:24

>thymeleaf の実装 えーっと、thymeleaf は既に実装出来てるわけですから、問題は起きてませんね。 細かいところですが大事です。要件ですから。タイトルをちゃんと書けないと伝わるものも伝わりません。
退会済みユーザー

退会済みユーザー

2019/08/27 00:25

else文書けないみたいですし、まったく同じではないと思いましたが
m.ts10806

2019/08/27 00:27 編集

とりあえず要件もまだはっきりしないしどのようなデータが渡されてくるかちゃんと記載いただけてないですし、そもそもおおもとの質問から大きく変わってしまっているので、回答者を振り回すだけと判断し、私はこれで本件から引かせていただきます。 単に書いてあることを実現させるだけでしたら解決可能なヒントは出尽くしていますので。
m.ts10806

2019/08/27 00:27

thymeleaf if else で調べれば結構出てきますね。あとは自己解決目指してがんばってください。
退会済みユーザー

退会済みユーザー

2019/08/27 00:27

了解しました。ありがとうございました。
azuapricot

2019/08/27 00:34

「この文で大丈夫か教えて頂きたいです。」 実行してみればかんたんにわかることじゃないでしょうか
退会済みユーザー

退会済みユーザー

2019/08/27 00:36

そうですね。試してみますね
guest

回答1

0

ベストアンサー

th:disabled="${page} == '値'

で実行できました。

https://qiita.com/opengl-8080/items/eb3bf3b5301bae398cc2

このサイト見て色んな条件も試せました。

投稿2019/08/28 04:00

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問