我正在尝试在JSF / CDI中实现CRUD功能。
我很难尝试实现编辑功能。我有一个xhtml页面,显示数据表中的Person实体列表。
我想在每个人的数据表中放置一个编辑链接,但我完全忘记了JSF / CDI中的某些机制是如何工作的。如何将数据表中的Person实体传递给Java代码。?
我会做类似的事情吗?<h:datatable value="#{personList}" var="person">
<h:commandButton value="Go to edit page" action="#{personController.editPerson(person)"} />
</h:datatable>
@Named
@RequestScoped
public class PersonController {
//Person is a JPA entity so I can't inject it
Person editPerson;
public String editPerson(Person person) {
editPerson = person;
return "editPerson";
}
public String saveChanges(){
entityManager.merge(editPerson);
}
}
<h:form method="post">
<h:inputText value="#{personController.editPerson.name}" />
<h:commandButton value="Save Changes" action ="#{personController.saveChanges()}" />
</form>
在阅读了BalusC提供的链接后,我想询问是否没有比使用转换器和标签更好的方法来传递ID?
我来自Seam 2背景,Seam会自动定义转换器。此外,该帖子没有使用任何CDI功能......只是管理豆..