gpt4 book ai didi

java - 使用 写入对象的字符串属性

转载 作者:行者123 更新时间:2023-12-02 08:29:47 25 4
gpt4 key购买 nike

我的表单中有一个对象,其中包含各种字符串属性。

当我想在 JSP 表单中打印它时,我可以使用

<c:out value="${form.company.address}" />

效果完美。

现在我想创建一个 HTML 输入字段。但是当我写的时候

<html:text property="company.address" />

我收到一条错误消息

Caused by: javax.servlet.jsp.JspException: No getter method for property company.address of bean org.apache.struts.taglib.html.BEAN

您知道如何使用我公司的地址创建 HTML 输入字段吗?

我的 bean 具有必要的相应 getter 和 setter。

最佳答案

正确的翻译方法是:

<c:out value="${UFForm.company.address}" />

对于 Struts 来说,

<html:text name="UFForm" property="company.address">

这意味着有一个名为 UFForm 的请求使用包含方法 getCompany() 的 bean (我假设返回一个 Company 对象),而该对象又有一个 getAddress() getter(如果你明白我的意思)。简而言之,来自请求/ 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();

关于java - 使用 <html :text/> 写入对象的字符串属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3724682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com