我有一个JSP,我想用我的Action
类填充一些字段。
在我的Action
课程中,我有一个PersonDTO
对象。
这是一些示例代码,仅用于获取设计图片
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 :(得分:1)
是的,正如doctrey所提到的,要显示<s:property value="personDTO.name"/>
值,personDTO
必须是您的操作类的实例变量,并且PersonDTO
类中应该有一个getter方法name
属性。如果是这样,你会看到你的结果。
此外,您不必在此使用<s:property>
,您可以使用<s:textfield>
标记,如下所示,
<s:textfield id="PersonName" name="personDTO.name"/>
答案 1 :(得分:0)
正如Steven和nmc所说,您想要在页面上访问的每个变量都需要在您的情况下使用getPersonDTO()
之类的getter方法公开它。
但假设您的代码在execute
方法中,personDTO
是一个局部变量,并且不能由getter返回。首先,您必须将其声明为实例变量,然后提供getter方法。