亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果把出問題的幾個屬性對應的文本框刪掉,問題就沒了,一切正常!其他屬性碰到null值也沒問題!

如果把出問題的幾個屬性對應的文本框刪掉,問題就沒了,一切正常!其他屬性碰到null值也沒問題!

UYOU 2023-03-11 18:14:19
Form里有n個屬性,字符串類型,屬性對應的get/set方法用MyEclipse自動生成的,完全符合命名規范。頁面上有n個文本框,對應form中的屬性,字母大小寫都正確。文本框的初始值由上個頁面通過session傳過來的,某些值可能為null。由上個頁面進入這個頁面的時候問題就出現了,如果后四個屬性的初始值為null,就會出現No getter method for property xxx ……的錯誤。如果把這四個屬性的文本框刪除,就沒問題了,即使其他屬性為空,也不會出錯。我就納了悶兒了,同樣是一個Form里的String類型的屬性,差距他咋就這么大呢?大俠們幫幫忙吧!萬分感激!我做的是一個修改詳細信息的頁面。大體代碼:我的ActionForm里就是n個屬性和對應的getter/setter。頁面form:<html:form action="/modify.do" method="post"><% OldBean ob=(OldBean)session.getAttribute("oldBean");%><html:text property="pro1" value="<%=ob.getPro1()%>" /><html:text property="pro2" value="<%=ob.getPro2()%>" />……<html:text property="proN" value="<%=ob.getProN()%>" /><html:submit value="submit" property="submit" /></html:form>出問題的幾個屬性跟其他屬性除了名不一樣,其他都一樣,名也是完全按照命名規范的,頁面上的屬性名是copy過去的,不會寫錯。
查看完整描述

2 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

我說的Form是你的XXXForm類,不是Form表單

這四個屬性的文本框 
原因可能是: 
1、這4個文本框你用struts標簽寫的<html:text ... />在Form里沒有設為屬性, 

2、你在Form里設成了屬性,但是你沒寫成struts標簽

查看完整回答
反對 回復 2023-03-15
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

例如
有個ActionForm
pubic MyForm extends ActionFomr{
private long id;
private String name;

//對應的get,set方法。注意名稱一定要規范
}

<html:form action="/modify.do" method="post"> 
<html:text property="id"/> 
<html:text property="name"/> 
</html:form>

你如果是想給form賦值,完全可以在action中直接給form設值,不用傳到頁面上。例如進入包含html:form的頁面前,先經過action,從action給form賦值,action中有以下方法

public ActionForward initForm(//參數省略){
MyForm myform = (MyForm )form;
myform.setId(111);
myform.setName(”myName“);

mapping.findForward("你配置了ActionFOrm的頁面");
}

查看完整回答
反對 回復 2023-03-15
  • 2 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號