- PR -

Beanからの値の取得

1
投稿者投稿内容
しん
常連さん
会議室デビュー日: 2004/04/04
投稿数: 48
投稿日時: 2004-10-03 14:14
Beanの値をJSPで取得するサンプルを作ってみました。下記のようにscopeがrequest
の時、<jsp:getProperty 〜>というタグを使った場合と<%= 〜 %>というようにして
Beanから値を取得した場合、両者に差はありませんでした。ところがscopeを
sessionまたはapplicationとした場合、タグを用いた場合はBeanから値を取得でき
<%= 〜 %>と記述したところはnullとなって取得できませんでした。
タグを使ってBeanの値を取得するのと<%= 〜 %>と記述して取得するのは同じこと
だと思っていたのですが両者に差はあるのでしょうか?

(mvc_jsp.jsp)
<%@ page contentType="text/html; charset=Shift_JIS" import="bean.mvc_bean" %>
<jsp:useBean id="test" class="bean.mvc_bean" scope="request" />

<html>
<head><title>MVCモデル</title></head>

<body>

<% out.println("プロパティタグで取得"); %>
<BR>
<jsp:getProperty name="test" property="msg" />
<BR>
<jsp:getProperty name="test" property="path" />

<BR><BR><BR>

<% out.println("メソッドで取得"); %>
<BR>
<%= test.getMsg() %>
<BR>
<%= test.getPath() %>

<BR>
<a href="/examples/jsp/request.jsp">次のページ</a>

</body>
</html>
しん
常連さん
会議室デビュー日: 2004/04/04
投稿数: 48
投稿日時: 2004-10-03 21:42
自己解決いたしました。
beanのスコープをsessionやapplicationにした場合、サーブレットでそれぞれ
HttpSessionオブジェクト.setAttribute()、ServletContextオブジェクト.setAttribute()
というように修正することで解決いたしました。ありがとうございました。
1

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