- - PR -
値バインドの記述について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-07-18 17:39
Strutsを使用して、値バインドを記述することは可能でしょか。
普通のEL式を使って、Formのデータにアクセスすることはできるます。 ${form.name} この方式ではなく、Formの持っているオブジェクトの属性にアクセスしたいのですが、その方法が分りません。イメージはこんな感じです。 ${form.dto.name} JSFの値バインドを使うとできるっぽいのですが、Strutsを使った場合の実現方法についてどなたか分かりましたら教えてください。※strutsは1.3.8を使用しています。 よろしくお願いします。 | ||||
|
投稿日時: 2007-07-18 18:25
普通のELで${form.dto.name}も扱えますよ? そういう意味ではないのですか? | ||||
|
投稿日時: 2007-07-18 20:23
あしゅさん。返答ありがとうございます。
まさにあしゅさんの言われている通りのことをやりたいと思っています。 サンプルを作っているのですが、${form.name}は表示されるのですが、${form.dto.name}が表示されません。 環境は以下のような感じです。 tomcat5.5 jdk5 jsp2.0 struts1.3.8 formにdtoのsetter,getter、dtoにnameのsetter,getterは作成済みです。試しにdtoのgetterに直接文字を返却させてみましたが、やはり何も表示されませんでした。 JSPでは以下のように書いています。 <@ taglib uri="http://java.sun.com/jstl/core" prefix="sunc" %> <sunc:out value="${form.dto.name}" /> 以上です。よろしくお願いします。 | ||||
|
投稿日時: 2007-07-18 20:49
まずは<sunc:out>抜きでEL式を書いて出力されているか確認しましょう。
それぞれどうなりますか? 直接記述して出力されるのにoutを使うと出力されないなら、outの方の設定が誤っているとか、そういうことになるでしょうし。 一気に動かさずにパーツにわけて動作確認しましょう。 言語仕様的には可能なので、EL式の記述なり、型なりgetter, setterなりのどこかにミスがある。 getter,setterのアクセスレベルがpublicになっていないとかありませんよね? | ||||
|
投稿日時: 2007-07-18 22:37
空文字になるってことはformのdtoがnullとか?
| ||||
|
投稿日時: 2007-07-19 22:43
みなさん回答ありがとうございました。無事表示することができました。
結局、原因はDTOがNullになっていたためでした。(お恥ずかしい。。) これとは別件でもう一件質問してもよろしいでしょうか? テキストフィールドと関連づけて、表示だけでなく、Servlet側へリクエストが来たときにELで指定した属性へ値が設定されている状態にすることは可能でしょうか。 こんな感じです。 <html:text property=${form.dto.name}" /> 上記テキストフィールドに値を入れてSubmitし、サーバ側ではform.getDto().getName()で値を参照したいと思っています。 JSFだと、<h:inputText value=#{form.dto.name} />で出力できるのですが、これをstrutsでやる方法を教えて頂けないでしょうか。 よろしくお願いします。 |
1