- PR -

JSTLの使用方法

1
投稿者投稿内容
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-06-29 14:53
JSTLを使用して以下のJSPの<!-- PUTPUT -->の部分に
以下のJavaBeans TestのgetBBBを呼び出したいのですが、
以下のように宣言しても上手くいきません。

宣言した変数名と同じgetterを設定しないといけないのでしょうか?

<JavaBeans>
public class Test implements Serialize{

private String aaa = "AAA";

public String getBBB(){
return(aaa);
}
}



<JSP>
<%@page contentType="text/html;charset=Shift_JIS"%>
<jsp:useBean id="Test " class="Test " scope="session"/>


<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>

<html>
<head>
</head>
<body>
<!-- PUTPUT -->
<c:out value="${Test .getBBB}"/>

</body>
</html>
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-06-29 16:33
>宣言した変数名と同じgetterを設定しないといけないのでしょうか?
自分で確認してみてはいかがでしょう?
すぐできますよね。

または既に動いているサンプルの変数名を変えて実験するのもいいかもしれません。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-06-29 20:47
>宣言した変数名と同じgetterを設定しないといけないのでしょうか?

そんなことありません。
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-06-29 20:59
インギさん、aaさん>
ご回答有難うございました。


Test.getBBBとしてもTest.getAAA
としてもどちらも表示されませんでした。

ソースの間違っている個所をご指摘願えないでしょうか。
しましま
常連さん
会議室デビュー日: 2005/01/08
投稿数: 41
投稿日時: 2005-06-29 21:18
単純な勘違いのように見えたので、すぐに解決するかと思っていました。

{Test.getBBB}ではなく、{Test.BBB}となります。
getterメソッドから"get"の文字を差し引いた部分が、属性名となります。
getterやsetterメソッドの命名規則をもう一度確認してみてください。
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-06-30 09:35
SAB.BBBで挑戦してみたのですが以下のエラーがでてしまいました。

javax.servlet.ServletException: 値 "${SAB.BBB}" のセットされたカスタム・アクション属性 "value" を評価している過程でエラーが発生しました: オペレータ "." を利用しましたが、クラス "Test" のオブジェクトにおいて "BBB" に対応する値が見つかりません (null)

JavaBeansのなかで
private String BBB = "AAA";
を定義すると

SAB.BBBですると値が表示されるのですが、なにかやり方が違うのでしょうか。
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-06-30 10:51
自己レスです。

本件は解決しました。
しましまさんのおっしゃるとおりでした。

自分の記述ミスでした。。。
1

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