html
1 2<td th:disabled="${---条件式---}? 'A': 'B'"/> 3
thymeleafからできました。ありがとうございます。
今複数条件を埋め込みたいのです。条件式が一致した場合、Aと表示をして、かつ非活性にしたいです。
条件式が一致した場合、Aと表示をして、かつ非活性にしたい場合、この文で大丈夫か教えて頂きたいです。
例 もし受けた値が”tokyo”の場合、日付きを表示させ、かつ非活性にする
Java 、Spring(たぶんbootのほう)はタグに必要に思います。
DTOとなるとThymeleafのようなビュー側ではなくあくまで内部処理やデータの持ち方なので。
DTO DTO とおっしゃっていますが、DTOっぽいものがどこにも書かれていないような。
ArrayList<CityList> CityList = new ArrayList<CityList>();
String text='fukuoka';
model.addAttribute("CityList", CityList);
ここも何がやりたいかよくわかりません。
福岡って値つめるまえに addAttributeしてるような。 何がしたいんでしょう。
それにコードと要件の説明が全く足りていません。
CityListも必要ですし、textをどう使いたいのかとかjQueryがどう関係するのかとか、このプログラムの仕様部分、要件部分を他者に分かるように具体的に記載してください。
まず、thの東京のところでdbから’tokyo’という値が渡されると、tdに氏名が表示されます。
jQueryで条件が’tokyo’なら表示する。’fukuoka"という値なら何も表示しないという使用にしたいです。jQueryの文が正しいのか確認をとりたいです。thymeleafが値を取得できるようにまずしたいのですが、どのように値を渡せばいいのかがわからないです。
質問を編集して諸々追記、調整してください。
ちなみに
「jQueryで条件が’tokyo’なら表示する。’fukuoka"という値なら何も表示しないという使用にしたいです。jQueryの文が正しいのか確認をとりたいです」これは全く意味が分かりません。
表示非表示の条件式ですが、
ゆっくりでいいので、質問文を編集しましょう。
質問の意図が汲み取れないので回答者はここに記入します。
ここで説明しても結局質問文がそのままではわかりにくいままです。
jQueryなど必要なくth:ifでできるんでは。
だから要件不明瞭なので本当にjQueryが必要かどうかすら答えられません。
要件を明確にしてください。(他者に確実に伝わる表現で)
そもそもまずjQueryが確認したいなら、thymeleafからは文字列とかだけ送ってみればよいのでは?
今回だと変にリスト?につめて渡そうとしてますが、リストに詰めるのが失敗しているのか、表示に失敗しているのか、jQueryがおかしいのか問題点がわかりにくくなります。
なら最初から、まずは文字列だけ画面にaddAttribute()してみては?
https://qiita.com/opengl-8080/items/eb3bf3b5301bae398cc2
たしかに thymeleaf使ってるなら中身をif文で分岐できたはずですね。 jQueryは不要なきがしますね
>model.addAttribute("CityList", CityList);
これを書いておきながら「渡し方が分からない」というのも分かりませんね。
そのコードで動かなかったのでそう書きました。
動かなかった=どういうことでしょう?
値が受け取れなかったってことでしょうか。
CityList という名前で渡したなら、 CityListという名前で引き出してあげないと受け取れませんよ。
list の渡し方受け取り方もここにのってるのでもう一度落ち着いてやってみて下さい。
https://qiita.com/s-kiyotomo/items/928095b12c2b9f234fae
その動かないコードというのを提示しないと何が間違ってるか指摘しようがないですね。本当に動くコードだけ扱ってても自力は上がりませんよ。
すんごく簡単に書くならこう(もはや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の基礎部分が抜けているように見えますので話が全然かみ合ってません)
タイトル変わってないのに質問内容がガラッと変わっている。
「意図的に抹消された質問」ということでよろしいでしょうか。
そういうつもりではありませんでしたが、そうとらえられたなら以後きをつけます。
まあ初めからDTO関係ない内容で戸惑っていますけど。解決する気があるのでしたら質問内容きちんとしてください。これで投げられても誰もアドバイスできません
質問項目に書いた内容を質問したいです。
DTOはもう良いと?タイトルこれでいいんですか?
ただ今の書き方だとどうなってここに至ったのかわかりませんしどういうデータをもとにどうしたいのかも詳しく書く必要があります
DTOを使わずできることが分かったのでまずはthymeleafでの書き方を試してからにしたいです。
ある条件の時にAを表示させ、かつ非活性にする場合の非活性要件をうめこみたいです
例 もし受けた値が”tokyo”の場合、日付きを表示させ、かつ非活性にする
をかきたいです
指摘が伝わってないみたいですが
>DTO実装がうまくできないです
このタイトルでこの質問内容だと整合性とれません。
それに調べられたら分かりますが、thymeleafのif内には通常Javaで書くのと同じような条件式が書けます。
ご自身でまずJavaの条件式をきちんと書いてから試しては如何でしょうか。
ただ、条件式を書きまくるのはビューも汚くなるのでなるべく「表示するだけのデータを渡す」のが望ましいのは言うまでもありません(あまりロジックをビューに書くものではないので)
>thymeleaf の実装
えーっと、thymeleaf は既に実装出来てるわけですから、問題は起きてませんね。
細かいところですが大事です。要件ですから。タイトルをちゃんと書けないと伝わるものも伝わりません。
else文書けないみたいですし、まったく同じではないと思いましたが
とりあえず要件もまだはっきりしないしどのようなデータが渡されてくるかちゃんと記載いただけてないですし、そもそもおおもとの質問から大きく変わってしまっているので、回答者を振り回すだけと判断し、私はこれで本件から引かせていただきます。
単に書いてあることを実現させるだけでしたら解決可能なヒントは出尽くしていますので。
thymeleaf if else で調べれば結構出てきますね。あとは自己解決目指してがんばってください。
了解しました。ありがとうございました。
「この文で大丈夫か教えて頂きたいです。」
実行してみればかんたんにわかることじゃないでしょうか
そうですね。試してみますね
回答1件
あなたの回答
tips
プレビュー