• ベストアンサー

JSPでBeanにセット

ssjの回答

  • ベストアンサー
  • ssj
  • ベストアンサー率73% (11/15)
回答No.2

その通りです。 実際には、jakarta commons プロジェクト内の サブプロジェクト「BeanUtils」が、リフレクションを 扱いやすくするためのメソッド群を提供しており、 Strutsはそちらを利用しています。

chi-kon
質問者

お礼

ご回答ありがとうございます。 そうでしたか。 専門家の方の確認が取れましたので安心いたしました。 自分でも似たような実装をしたことがあったのですが、 実はもっとうまい方法があるのではと思っていたのですが、 着眼点はよかったのですね。 BeanUtilsというツールがあるのであれば、 車輪を改めて発明するのではなく 積極的に利用していきたいと思います。 ありがとうございました。

関連するQ&A

  • JAVA BEANとJSPページ

    いつもお世話になっております。 JAVA BEAN とJSPの質問なんですが、 JSPページでHTMLフォームから名前と住所を入力して、 BEANのページにその名前と住所をパスする、 というやり方がよく分かりません。 どなたかご教授頂けると大変うれしいです。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • テキストボックス値をsetPropertyでセット

    HTMLのテキストボックス<input type="text">値を JSPのsetPropertyでセットBeanのフィールドとしてセットし、 Servlet側で取得したいと思っています。 JSPでのsetPropertyの書き方は次のようで、 直接valueに値を書く(またはbeanからとってきた値を書くようですが、 [質問1.]テキストボックスに入力された値を代入することは可能でしょうか? [質問2.]どのように記述すればよろしいのでしょうか。 ---JSP setPropertyの記述 <jsp:setProperty name="オブジェクト変数"             property="プロパティ"             value="プロパティ値"             param="パラメータ" />

  • JSPのスレッドセーフについて

    Strutsを用いて開発しております。 「スレッドセーフにするように」と言われ、 JSPのコードを見ると<% %>で囲まれた部分がありました。 こちらで他の質問を見させていただいたときは 「<%! %>で囲まれた部分はインスタンス変数として扱われる」 とあったのですが、<% %>で囲まれた部分に定義された変数は ローカル変数なのでスレッドセーフであると考えて 間違いないでしょうか? (JSPから生成されたjavaコードを見ると、_jspServiceメソッドの中で  定義されていました。)

    • ベストアンサー
    • Java
  • JSPの変数受け渡しについて教えてください。

    index.jspファイルにinclude.jspをインクルードします。 そのときにindex.jsp内の変数にアクセスしたいのですがどのように行えばよろしいでしょうか。(index.jsp内の変数の値を変えたい) ■index.jsp <% String hensu = "aaa"; %> <jsp:include include.jsp /> <html> <body> <%= hensu %> </body> </html> ↑この時点でinclude.jspによって代入された値が bbb に変化して表示されればよいのですが・・・。 ■include.jsp <% String hensu = "bbb"; %> この方法が無理であれば、beanを使用しようと考えていますが、なるべくjspで実現したいと思っています。 まったくの初心者で申し訳ないですが誰かお助けお願いします。

    • ベストアンサー
    • Java
  • jspから別のjspへパラメータが送信できない

    javaBeanを利用してjspを作成したけど Test.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <jsp:setProperty name="formprocess" property="*"/> <html> <head> <title>TEST</title> </head> <h2>情報の入力</h2> <form method="GET" action="/javaroad/jspdir/Test_1.jsp"> <p> 名前: <input type="text" name="name" size=30> <p> メールアドレス: <input type="text" name="mailaddress" size=30> <p> <input type="submit" value="送信"> </form> </center> </body> </html> Test_1.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <html> <head> <title>TEST</title> </head> <body> <p> 名前: <jsp:getProperty name="formprocess" property="name"/> <p> メールアドレス: <jsp:getProperty name="formprocess" property="mailaddress"/> </body> </html> Beanのソース package struts; public class FormProcess { String name; String mailaddress; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setMailaddress(String mailaddress) { this.mailaddress = mailaddress; } public String getMailaddress() { return mailaddress; } } Test.jspでデータを入力して送信ボタンを押すとTest_1.jspではnullが表示します。前の入力したデータではないです。どうしたらできますか?

    • ベストアンサー
    • Java
  • JSPのメソッドサイズ制限について

    JSPを初めたばかりで、基本的なこともよくわからなくてどなたかお教え願えないでしょうか Eclipseを操作しながら作成しています 今回複雑な計算処理のJSP(form文のactionで実行)で作成する予定で、メソッドが64Kバイトを超えることが想定されます JSPでは、64K バイトを超えるサイズのメソッドの生成出来ない記載と、 jspのメソッドの行数が,コメントおよび空行を含めて1000行を超える場合が発生する記載を見つけました 下記対策が有るようですが、jspではどの方法とるのがよいかですか   1.jspのスリム化には     (a)コメント、スペース、改行を減らす     (b)動的includeを使用して分割する        変数の引き渡しが必要で単純に分割出来ない     (c)beanで処理できる部分を作成        Eclipseでの作成方法の手順があるとたすかります (d)<%! function(){} %>別メソッドを作成        この方法は正しいかわかりません   2.jspでなくてservletで作成する        

    • ベストアンサー
    • Java
  • JSPのページでの質問

    こんにちは、お世話になります。 JSPのあるページで使った変数名を違うページで使うことができますか? 例えば、トップページでString型の変数 strName を使うとします。リンクを送信ボタンなどを押して、次ページに移動するとします。その移動した後のページで、違う変数として、strName を使うことはできますか? また、その逆?として、複数のページにまたがって、同じ変数を使用することはできますか? 例えば、トップページでstrName に氏名を入れるとします。次ページでstrNameから、その氏名を取り出すことができますか?セッションやBeanを使った方法は本に書いてあったので分かります。それらを使わないとできないのでしょうか? 誰か分かる方がいたら、教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPが表示できない

    サーブレットからJSPに表示させようとしているのですがJSPの中にJAVAソース を加えると表示できなく画面が真っ白になり、加えなければ表示できます。 原因がなぜなのかわからなく困惑中です。ソースは以下の通りです。 アドバイスお願いします。 <%@ page contentType="text/html;charset=Shift_JIS"                               import= "java.sql.*" %> <jsp:useBean id="Bean" class="Servlet"scope="session" /> <html> <head><title>表示画面</title></head> <body> // BeanファイルでデータをSQL文によって取り出しrs変数に格納し // getNameCDメソッドによってデータを取り出す。BeanファイルではSQL文 実行確認済み <% ResultSet rs = Bean.getNamaCD(); %> <%  while(rs.next()){ out.println(rs.getString(1)); // 名前のコードを取り出し表示させる。 } %> </body> </html>

  • JSPでのパラメータ値引き渡し方法

    現在、JSP画面上(a.jsp)にフォーム(テキストボックス)と、リンクラベル(アンカー)があり、 理由があり、テキストボックス内に設定した値(strData)をリンクラベルのリンク先のJSP画面(b.jsp)に 引き渡したいと思っております。現状(抜粋です) 、 <Input Type="text" name="dummy" value=<%=strData %>> <A href='b.jsp?PARAM="<%=strData %>"'>リンク</A> とやったのですが、うまくいきません。(b.jspではデータが空で取得されます。) よくよく考えると、このやり方だと、テキストボックスに値を設定しても strData変数には値が設定されないんですよね。きっと。 と思い、考えをあらため、能動的にテキストボックスの値を取得するメソッドがないかな? とAPIマニュアルを調べたのですが、よくわかりませんでした。 上記の実現方法を教えてください。

    • ベストアンサー
    • Java
  • JSP/サーブレットについて

    JSP/サーブレットのMVCモデル風にJSP、サーブレットと、Beanを作成したばあい、サーバーに各プログラム?をどう配置し、プログラム内でのお互いの具体な指定の仕方がぴんときません。 指定の仕方とはたとえばサーブレットからJSPを呼ぶときgetServletContext().getRequestDispatcher("xxxxx/aaaaaa.jsp").forward(......); とコーディングするとおもいますが、この場合のxxxxxと実際にサーバーに配置する場合の関連です。 サーブレットは...../WEB-INF/classesに置くとか、Beanは...../WEB-INF/classes/パッケージ名に配置するのはわかります。JSPは通常どこにおくのでしょうか?たとえばC:\Tomcat\webapps\examplesなのか C:\Tomcat\webapps\examples\jspなのか? その場合プログラムないではどう指定するのが一般的なのでしょうか? 文章がわかりにくくてすいません。 開発環境はWindowsXP,Apache,Tomcatの場合です。