javax.servlet.jsp.JspException:属性没有getter方法

javax.servlet.jsp.JspException:属性没有getter方法,java,struts,struts-1,Java,Struts,Struts 1,我无法找出我做错了什么。我必须在表单Bean中使用表单Bean,因为表单有许多不同的部分。基本上,同一表单上有响应部分和请求部分 初始化视图时,我得到一个无getter方法异常。 我正在使用Struts 1.2 javax.servlet.jsp.JspException: No getter method for property getAvailableAddres sRequest.resellerId of bean org.apache.struts.taglib.html.BEAN

我无法找出我做错了什么。我必须在表单Bean中使用表单Bean,因为表单有许多不同的部分。基本上,同一表单上有响应部分和请求部分

初始化视图时,我得到一个无getter方法异常。 我正在使用Struts 1.2

javax.servlet.jsp.JspException: No getter method for property getAvailableAddres
sRequest.resellerId of bean org.apache.struts.taglib.html.BEAN
    at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
struts-config.xml:

<form-beans>
        <form-bean name="getAvailableAddress" type="com.wisor.talktalk.model.GetAvailableAddress" />
        <form-bean name="provideRequest" type="com.wisor.talktalk.common.talktalkbean.RequestActionForm" />
    </form-beans>

    <action-mappings>
        <action path="/ttTestJsp" type="com.wisor.talktalk.controller.TestJsp" 
            name="getAvailableAddress" 
            scope="session" 
            validate="false" 
            unknown="false">
            <forward name="init" path="/WEB-INF/talk/preorderView/getAvailableAddress.jsp"/>
        </action>
    </action-mappings>
子表单Bean:

public class GetAvailableAddressRequest implements Serializable{

    private String resellerId;

    public String getResellerID(){
        return this.resellerId;
    }
    public void setResellerID(String resellerId){
        this.resellerId = resellerId;
    }
}
行动类:

public class TestJsp extends Action {
Logger logger = Logger.getLogger(this.getClass());
@Override
public ActionForward execute( ActionMapping map, ActionForm actionForm,
        HttpServletRequest request, HttpServletResponse response) throws Exception{
ActionForward forward = null;
        GetAvailableAddress form = (GetAvailableAddress) actionForm;
form.intilize();
forward = map.findForward("init");
        return forward;
}}

在GetAvailabledDressRequest类中,似乎没有正确命名ressellerId字段的getter和setter。您在方法名称的末尾使用ID,而不是ID 更正签名如下:

   public String getResellerId(){
        return this.resellerId;
    }
    public void setResellerId(String resellerId){
        this.resellerId = resellerId;
    }

请记住,输入标记的属性名称必须与操作表单中的getter方法名称匹配

public String getProductDescription() {
    return productDescription;
}
样本: 在jsp中

<html:textarea property="productDescription" rows="15" cols="50" >
</html:textarea> 

在这里重定向到其他人:首先检查所有变量/方法名称

对我来说,问题是表单Bean从POJO类(带有getter和setter的类)请求值,以便显示初始jsp;因为它们一开始没有值,所以返回null,使jsp认为没有getter

只需设置一个默认值,甚至是“”


这个给我修好了

中未正确命名此字段的getter和setter。 它应该像“private String variableName”,而不是像“private String variableName”。 这里不推荐使用CamelCase

<html:textarea property="productDescription" rows="15" cols="50" >
</html:textarea> 
public String getProductDescription() {
    return productDescription;
}
public class GetAvailableAddressRequest implements Serializable{

//private String resellerId;
private String resellerId = "defaultValue";

public String getResellerID(){
    return this.resellerId;
}
public void setResellerID(String resellerId){
    this.resellerId = resellerId;
}