- PR -

Strutsでno getter method について

1
投稿者投稿内容
masa
常連さん
会議室デビュー日: 2003/01/14
投稿数: 37
投稿日時: 2004-01-29 11:54
プロパティのないgetterメソッドを
bean:wirteタグ等で呼び出すことはできないでしょうか?

たとえば struts-config.xml で以下のように設定してて、

<form-bean name="TestForm" type="test.TestForm">
<form-property name="dateStr" type="java.lang.String" />
</form-bean>

そのFormBeanが以下のようになっています。

public class TestForm extends DynaValidatorForm {
public Date getDate() {
return toDate((String)get("dateStr"));
}
}

このときに、JSPで

<bean:write name="TestForm" property="date" format="yyyyMMdd-HHmmss.SSS" />

のようにしたいのですが、 no getter method となってしまいます。
解決方法をご存知の方、よろしくお願いします。

環境は、
Struts1.1
Tomcat4.1.27
jdk1.4.1_02
windows2000
です。
nori
常連さん
会議室デビュー日: 2003/12/16
投稿数: 34
お住まい・勤務地: 新幹線線路の隣
投稿日時: 2004-01-30 18:51
はじめまして。

no getter method というのは、読んだ通りに、
メソッドがありません。
という意味ではないでしょうか?

Formの中にあるプロパティは、なんでしょうか?
表示しようとしているプロパティ名はなんでしょうか?

ちなみにJavaは、大文字小文字を区別します。
その当たりを見直してみてください。
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2004-01-31 10:17
引用:

masaさんの書き込み (2004-01-29 11:54) より:
プロパティのないgetterメソッドを
bean:wirteタグ等で呼び出すことはできないでしょうか?
たとえば struts-config.xml で以下のように設定してて、

<form-bean name="TestForm" type="test.TestForm">
<form-property name="dateStr" type="java.lang.String" />
</form-bean>

そのFormBeanが以下のようになっています。

public class TestForm extends DynaValidatorForm {
public Date getDate() {
return toDate((String)get("dateStr"));
}
}

このときに、JSPで

<bean:write name="TestForm" property="date" format="yyyyMMdd-HHmmss.SSS" />

のようにしたいのですが、 no getter method となってしまいます。



あたりまえです。これは、JavaBeans というものを理解する必要があります。
<bean:write> のプロパティ属性値は、「メソッド名」ではありません。
「プロパティ名」です。
form-bean 定義から可能なのは、
コード:
<bean:write name="TestForm" property="dateStr"/>


だけです。
1

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