正确的翻译方法:
<c:out value="${UFForm.company.address}" />
对 Struts 来说,
<html:text name="UFForm" property="company.address">
这意味着有一个带有名称的请求,UFForm
其中包含一个包含方法的bean getCompany()
(我假设它返回一个Company
对象),而它又具有一个getAddress()
getter(如果你明白我的意思的话)。简而言之,来自 request/session 的 bean UFForm
,TagLib 正在访问getCompany().getAddress()
;
PS希望getAddress()
不返回null else<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();