当前位置: 首页 > 知识库问答 >
问题:

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

养振濂
2023-03-14

我无法找出我做错了什么。我一定要在Form Bean中使用Form 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>

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

行动类:

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

共有3个答案

凌嘉勋
2023-03-14

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

对我来说,问题是Form Bean请求POJO类(包含getter和setter的类)的值,以便显示初始jsp;因为他们一开始没有值,所以他们返回了一个null,使得jsp认为没有getter。

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

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

这个给我修好了!

端木高卓
2023-03-14

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

示例:在jsp

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

在行动形式中

public String getProductDescription() {
    return productDescription;
}
江英卓
2023-03-14

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

   public String getResellerId(){
        return this.resellerId;
    }
    public void setResellerId(String resellerId){
        this.resellerId = resellerId;
    }
 类似资料:
  • 我在jsp文件中有这个,它可以工作: 但是我想显示一个html:选择像这样: 但不起作用,错误显示: 没有可用于属性认证的getter方法。名为org的bean的estado。阿帕奇。struts。塔格里布。html。豆 谢谢

  • 嗨,我试图使用strut得到一个bean到我的jsp代码,我在我的jsp页面中使用的bean是:但是每当我运行jsp时,我就会收到 bean的“unitForm”的属性“testData.team.type”没有getter方法。 我正在尝试将棒球写入我的JSP页面。 我的行动表单的代码是: 测试数据类具有: 最后在我的体育课上:

  • 如何使用自定义setter声明属性,但在Kotlin中没有getter?例如,在安科,他们这样做: 但在我看来,这有点骇人。这样做对吗?如果是,那么当一个项目没有Anko依赖关系时,情况会怎样呢? 附言:让我说清楚——我想没有吸气剂,而不是私人吸气剂

  • Struts(1.38)新手,我得到以下错误:没有getter方法可用于名称hsForm下的bean的属性hs.has关系ToTeam。我被告知在HSDivForm中创建getHs和setHs方法,但这是问题所在吗?或者我该怎么做? 我的豆子: 我的表格: 我的jsp:

  • 我无法找出我做错了什么 当我调用我的变量到JSP我有错误 javax。servlet。jsp。JspException:bean“informations”的属性“gPClientCount”没有getter方法 JSP页面: 吸气剂和二传手:

  • 我正在尝试用Struts填充select。但是,我得到了一条错误消息:name在其所查找的类中也没有名为“label”的变量,因此我不知道它是如何查找 表单类是一个非常典型的实体类 关于为什么会出现这个错误,有什么建议吗?