これを翻訳する正しい方法:
<c:out value="${UFForm.company.address}" />
Struts には、
<html:text name="UFForm" property="company.address">
これは、メソッド (オブジェクトを返すと想定している)UFForm
を含む Bean を持つ名前のリクエストがあり、その代わりにゲッターがあることを意味します (私の言いたいことを理解している場合)。一言で言えば、 request/session の Beanである TagLib がアクセスしています。getCompany()
Company
getAddress()
UFForm
getCompany().getAddress()
PS nullgetAddress()
を返さないことを願っています。それ以外の場合は、例外がスローされます。<html:text />
編集上記で行ったことを説明するには:
public class Company implements Serializable {
private String address;
//Setter
public void setAddress(String address) {
this.address = address;
}
//Getter
public String getAddress() { return this.address; }
}
public class UFForm implements Serializable {
private Company company;
public void setCompany(Company company) {
this.company = company;
}
public void getCompany() {
if (this.company == null) {
setCompany(new Company());
}
return this.company;
}
}
上記で行ったこと<html:text />
は、
UFForm ufForm = ....;
String property = ufForm.getCompany().getAddress();