javax.servlet.jsp.JspException : No getter method for property 异常

标签 java struts struts-1

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

在初始化 View 时,我收到一个没有 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>

JSP 页面:

<html:form action="/ttTestJsp.do?task=getResponse" styleClass="form">
        <fieldset>
            <label class="inline label" for="reseller_id"><fmt:message
                    key="label.field.resellerId" />:</label>
            <html:text
                property="getAvailableAddressRequest.resellerId"
                styleClass="mandatory" readonly="readonly"></html:text>
        </fieldset>
    <html:submit value="GetAddress"/>
    </html:form>

FormBean 主体:

public class GetAvailableAddress extends ActionForm{
    private GetAvailableAddressRequest getAvailableAddressRequest;

    public void intilize(){
        getAvailableAddressRequest = new GetAvailableAddressRequest();
    }

    public GetAvailableAddressRequest getGetAvailableAddressRequest(){
        return this.getAvailableAddressRequest;
    }

    public void setGetAvailableAddressRequest(GetAvailableAddressRequest getAvailableAddressRequest){
        this.getAvailableAddressRequest = getAvailableAddressRequest;
    }
}

子表单 Bean:

public class GetAvailableAddressRequest implements Serializable{

    private String resellerId;

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

Action 类:

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;
}}

最佳答案

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

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

关于javax.servlet.jsp.JspException : No getter method for property 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569377/

相关文章:

java - 我需要知道如何在关联数组中设置值并在屏幕上显示

Java电商支付网关架构

java - 支柱 : Download xls file with Arabic name doesn't work in Google Chrome

Java Struts 标签迭代器在大列表上挣扎

tags - 如何在struts 1 html标签中的textarea上使用maxlength

java - 通过命令行与 JNI 调用

java - 当表单验证失败时,Struts Controller 将重定向到哪里?

java - Struts Action HTTP 500

java - 使用 Ant 和 Eclipse 创建 Struts 1.X 项目

java - 为什么 Java 泛型可以转换不可分配的类型(Every Exception 到 RuntimeException)?