【发布时间】:2014-06-09 10:26:19
【问题描述】:
我在通过 struts 访问属性时遇到问题。我想知道是否有谁对struts更有经验,可以给我一些指导。
java类大致是这样设置的:
public abstract class parent{
protected Integer id;
public Integer getId(){
return this.id;
}
}
public class child extends parent{
// stuff
}
孩子是一个设置了 getter 的动作类中的列表:
private List<child> childList;
这是我在前端的代码,试图获取id 属性:
<s:iterator value="childList" status="cStatus">
<s:property value='id' />
</s:iterator>
但是,什么都没有出现。我已经从子类中抓取了其他成员,所以我假设我正在抓取的父成员在抽象类中存在问题?
更新
我试图在jsp 的抽象类中获取另一个属性,它工作正常。我抢到的另一处房产是creationDate。我还在id getter 中添加了断点,它可以正常访问并返回非空值。这是包含hibernate 注释的父级的更详细实现:
@MappedSuperclass
public abstract class parent{
protected Integer id;
protected Date creationDate;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@DocumentId
public Integer getId() {
return this.id;
}
protected void setId(Integer id) {
this.id = id;
}
@Column(updatable=false, nullable=false)
@Temporal(TemporalType.TIMESTAMP)
public Date getCreationDate() {
return this.creationDate;
}
@SuppressWarnings("unused")
private void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}
}
【问题讨论】:
-
Child是动作类吗?您使用的是 JSON 结果类型吗? -
@nmenego
Child不是动作类。我不确定您所说的 JSON 结果类型是什么意思?我要做的就是在 HTML 中显示该属性。 -
您显示的代码看起来不错。你确定
id正在设置吗? -
如果您访问抽象父类和/或子类的其他属性会发生什么?他们是否按照专家的要求工作?
-
你好@AleksandrM,我在
id的getter 中添加了一个断点,它似乎可以正确返回值。我将在一个月内用更多的发现来更新这个问题。
标签: java hibernate jsp struts2