- PR -

Beanによる値の受け渡しができない・・・

1
投稿者投稿内容
まさき
会議室デビュー日: 2008/03/19
投稿数: 9
投稿日時: 2008-05-30 16:35
お世話になります。

現在、参考書(Javaフレームワーク入門)を見ながら、Strutsを使いEclipseで開発しているのですが、掲題にもある通りBeanによる値の受け渡しができません。

[page1.jsp]
<html:form method="POST" action="action.do">
<html:text property="text1" readonly="true"
value="${requestScope.abc}" size="20"/>
<br/>
<html:text property="field1" size="20" />
<br/>
<html:submit />
</html:form>

[Page1Action.java]
public class Page1Action extends Action {

public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

Page1ActionForm page1form = (Page1ActionForm)form;
String str = page1form.getField1();
page1form.setText1("NONE");
request.setAttribute("abc", "abc");

return mapping.getInputForward();
}

}

ソースはこのようになっているのですが、jspのほうでテキストボックスに
valueで${requestScope.abc}を入れてるのですが、表示させるとテキストボックスに
そのままの文字列(${requestScope.abc})がでてきてしまって、
値がとれてないような状態です。

どなたかこの未熟者にご教授くださいませ。
まさき
会議室デビュー日: 2008/03/19
投稿数: 9
投稿日時: 2008-05-30 16:38
申し訳御座いません。

自身の環境を書くのを忘れていました。

Struts:1.3.8
Java:1.6.0
Eclipse:3.3.2

宜しくお願いします。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-05-30 17:20
http://www.itmedia.co.jp/enterprise/0310/06/epn03.html

僕も struts はヘナチョコな奴しか知らないので未熟者なんですが、
上のページでは出来ているようですよ。

きっと君も参考書を斜め読みしていて肝心の設定とかを見落として
いるだけじゃないでしょうか?

http://xxx/Page1.do
とかって呼び出したら、
Page1.do に関連付けられている Page1Action クラスのインスタンス
が生成されて、execute() が呼び出される。処理が完了したら、
このインスタンスを元に Page1.do に関連付けられた JSP ファイルの
タグを解析してHTMLに展開して出力、なんて一連の処理があると
思いますが、この「関連付け」って部分は指定してあげないとダメ
なのかもしれません。web.xml とかで。

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
上記ページの7ページ目にこんな記述があります。
do を呼び出したら、action クラスを呼びなさいみたいなことが読み取れます。

詳細は 上記ページで確認してみてください。
まさき
会議室デビュー日: 2008/03/19
投稿数: 9
投稿日時: 2008-05-30 17:57
ぴあちゃん様、ご返答有難う御座います。

先ほど、教えて頂いたページで確認しましたが、
私の読むペースでは時間がかかりそうなので、
明日以降にやってみようと思います。

親切に参考ページまで教えていただき有難う御座いました。

明日以降に結果報告させていただきます。
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2008-06-01 00:22
引用:

まさきさんの書き込み (2008-05-30 16:35) より:
ソースはこのようになっているのですが、jspのほうでテキストボックスに
valueで${requestScope.abc}を入れてるのですが、表示させるとテキストボックスに
そのままの文字列(${requestScope.abc})がでてきてしまって、
値がとれてないような状態です。



web.xmlの設定はどのようになっていますか?
el式を使うのであれば以下の「J2EE 1.4のweb.xml」のように<web-app>を指定する必要があります。
http://www.atmarkit.co.jp/fjava/javatips/037container004.html
まさき
会議室デビュー日: 2008/03/19
投稿数: 9
投稿日時: 2008-06-03 09:44
GENZO様
返信有難う御座います。

web.xmlはいじっていないので、そこの見落としかもしれません。
参考書の通りじゃだめな時もあるんですね・・・

現在は、別の仕事で手一杯なので、時間がある時に試してみます。
どうも有難う御座いました。
まさき
会議室デビュー日: 2008/03/19
投稿数: 9
投稿日時: 2008-06-04 15:36
ぴあちゃん様、GENZO様共にすみませんでした。

とても単純なミスでライブラリが足りていなかったという、あっけない結果になってしまいました。

初歩的なことでご迷惑をおかけしてしまって、反省します。
次からはミスがないか、もっと確認をしてから質問しようと思います。
1

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