除了我的问题“使用 Facelets 在 Java Server Faces 中创建“编辑我的项目”页面”之外,我还想介绍一个问题。
当我按下 commandButton 时,ID=100 被删除并刷新页面,这是在它运行该方法之前,对,所以这意味着当我按下按钮时我没有 ID。
你如何解决这个问题?
通过拥有这个托管 Bean
public class BeanWithId implements Serializable {
private String id;
private String info;
private void populateInfo() {
info = "Some info from data source for id=" + id;
}
public String getId() { return id; }
public void setId(String id) {
this.id = id;
populateInfo();
}
public String getInfo() { return info; }
public void setInfo(String info) { this.info = info; }
public String save() {
System.out.println("Saving changes to persistence store");
return null; // no navigation
}
}
并添加
<p><h:commandButton action="#{beanWithId.save}" value="Save" /></p>
到我的 facelet 页面。现在我的 faces-config.xml 中也有正确的信息,当我使用 ?ID=100 访问我的页面时,我确实得到了正确的 Item 返回。