- PR -

strutsの基本的な考え(不思議)

1
投稿者投稿内容
カルビ
会議室デビュー日: 2006/02/18
投稿数: 2
投稿日時: 2006-02-18 18:54
はじめまして。お世話になります。
現在Strutsで開発している初心者です。基本的な事で申し訳ないのですが、
調べても分からなかったので質問します。

strutsのJSPでは、struts-htmlタグを使用しなければならないのでしょうか?
現在開発中のWEBアプリで、JSP記述の以下の2つは全く同じ動作をしたのです。
どちらでもアクションフォームでgetIdメソッドで値を取れました
<html:text property="id" size="14" maxlength="10"/>
<input type="text" name="id" size="14" maxlength="10">

私はstruts-htmlタグを使用しているので、アクションフォーム
のgetXXXX、setXXXXメソッドと連携するのだと思っていました・・・・。

質問@
 struts-htmlタグは何をするために使用するのですか?
 使用する意味合いは何でしょうか?

質問A
 上記の2つの記述は全く同じで動作することで間違いないでしょうか?

よろしくお願いします
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-02-19 02:14
引用:

<html:text property="id" size="14" maxlength="10"/>
<input type="text" name="id" size="14" maxlength="10">


たまたま、1行目のJSPの内容を実行した際に、
2行目と同等のHTMLが出力されただけです。
アクションフォームのプロパティ[id]に値が存在する場合、
1行目の出力結果は2行目と同じになりませんよ。
ブラウザに表示された画面を、
「右クリック」>「ソースの表示」で、
JSPがどんなHTMLとしてレンダリングされるのかを確認してみるといいと思います。

引用:

私はstruts-htmlタグを使用しているので、アクションフォーム
のgetXXXX、setXXXXメソッドと連携するのだと思っていました・・・・。


大体、そんな解釈であっています。
加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2006-02-19 16:45
>質問@
> struts-htmlタグは何をするために使用するのですか?
> 使用する意味合いは何でしょうか?

HTML的に言ってしまえば

<input type="text" name="id" size="14" maxlength="10"></input>



<input type="text" name="id" size="14" maxlength="10">内容</input>

のように「内容」をつけるだけです。

>質問A
> 上記の2つの記述は全く同じで動作することで間違いないでしょうか

ええ、原理的には、同じ動作をします。

strutsを使用すると、「id」の内容を付け加える、のが違いますが。
単に送信フォームとして使用するのであればどちらも同じ動作をします。

カルビ
会議室デビュー日: 2006/02/18
投稿数: 2
投稿日時: 2006-02-22 11:09
回答ありがとうございます。
出張で今、やって見えました。

引用:

かつのりさんの書き込み (2006-02-19 02:14) より:
引用:

<html:text property="id" size="14" maxlength="10"/>
<input type="text" name="id" size="14" maxlength="10">


たまたま、1行目のJSPの内容を実行した際に、
2行目と同等のHTMLが出力されただけです。
アクションフォームのプロパティ[id]に値が存在する場合、
1行目の出力結果は2行目と同じになりませんよ。
ブラウザに表示された画面を、
「右クリック」>「ソースの表示」で、
JSPがどんなHTMLとしてレンダリングされるのかを確認してみるといいと思います。


html:textタグとinputタグは同時に有効にしていません。
どちらかをコメントにして、他方を有効にしてテストしました。
なので、こんな疑問が生まれました。


引用:

引用:

私はstruts-htmlタグを使用しているので、アクションフォーム
のgetXXXX、setXXXXメソッドと連携するのだと思っていました・・・・。


大体、そんな解釈であっています。


大体、あっているのなら上記のinputタグでは動作しないということ
でしょうか?私のテストでは動作してしまいました。

何かお分かりになればよろしくお願いします。


るーさん
常連さん
会議室デビュー日: 2003/12/14
投稿数: 28
投稿日時: 2006-02-22 11:42
JSPの結果は、あくまでもHTMLなので
htmlカスタムタグで出力した結果と、タグを使わずにhtmlで記述した結果が同じなら、
送信した時の動作は同じです。

htmlタグを使う最大のメリットは、
フォームに入力した値を表示してくれるということだと思います。
ActionFormに値が設定されていれば、htmlカスタムタグで記述した場合は、valueを設定してくれます。
1

スキルアップ/キャリアアップ(JOB@IT)