我在通过 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;
}
}
问题出在
private List<child> childList;
需要
private List<child> childList = new ArrayList<>();
public List<child> getChildList(){
return childList;
}
在 JSP 中
<s:iterator value="childList" status="cStatus">
<s:property value="id" />
</s:iterator>