2011-06-17 55 views
0

我有一個JSP,我想用我的Action類的信息填充一些字段。 在我的Action類中,我有一個PersonDTO對象。 這是一些示例代碼只拿到設計使用<s:property>訪問Javabean屬性

int id = 4; 
Person result = findMyRowFromDb(id);  
PersonDTO personDTO = new PersonDTO(result); 
return "fillForm" 

所以在我的JSP我想從我的對象獲取值的照片。 我喜歡寫東西

<input type="text" name="PersonName" id="PersonName" 
    value='<s:property value="personDTO.name"/>'/> 

name是我PersonDTO對象的字段。 但沒有顯示。 任何人都可以幫助我嗎?

+0

貴action類有一個`getPersonDTO()`方法? – 2011-06-17 12:26:04

回答

1

是爲doctrey提及,顯示<s:property value="personDTO.name"/>值,personDTO必須是你的動作類的實例變量,也PersonDTO類應該爲name屬性的getter方法。如果是這樣,你會看到你的結果。

,你也不必使用<s:property>在這裏,你可以使用<s:textfield>標籤像下面,

<s:textfield id="PersonName" name="personDTO.name"/> 
0

正如Steven和nmc所說的你想在你的頁面上訪問的每個變量,你需要在你的情況下用一個獲取方法來暴露它,比如getPersonDTO()
但是,假設您的代碼位於execute方法中,personDTO是本地變量,不能由getter返回。所以首先你必須聲明它爲實例變量,然後提供一個getter方法。