Web applications 通过指向不同页面编辑数据表行(弹出)
我在datatable中显示了bean类的Web applications 通过指向不同页面编辑数据表行(弹出),web-applications,jsf-2,Web Applications,Jsf 2,我在datatable中显示了bean类的employeebean类中的employee对象列表,并希望在弹出窗口中编辑datatable中的特定行,如下所述 包含所有员工详细信息的数据网格,每行都有编辑按钮。单击编辑按钮时,新弹出窗口应显示特定单击员工的现有信息,编辑后,更改必须在列表中以及datatable中反映该特定对象 我正在努力,但没有找到在弹出窗口中传递要编辑的对象的解决方案。您可以使用primefaces inplace模块来完成这项工作()。我也是新手;)您所需要做的就是创建Ma
employee
bean类中的employee对象列表,并希望在弹出窗口中编辑datatable中的特定行,如下所述
包含所有员工
详细信息的数据网格
,每行都有编辑
按钮。单击编辑
按钮时,新弹出窗口应显示特定单击员工的现有信息,编辑后,更改必须在列表中以及datatable中反映该特定对象
我正在努力,但没有找到在弹出窗口中传递要编辑的对象的解决方案。您可以使用primefaces inplace模块来完成这项工作()。我也是新手;)您所需要做的就是创建ManagedBean,它将负责您的数据。例如,假设您的数据库中有Employee表。首先,您应该创建名为Employee的实体。接下来,您需要创建ManagedBean,它将负责该实体。您需要执行的最后一步是创建视图 java(只需使用Netbeans/Eclipse创建此文件) EmployeeBean.java
@ManagedBean
@SessionScoped
public class EmployeeBean implements Serializable {
private Employee employee;
public void EmployeeBean() {}
// getter and setter for Employee
public String save() {
// save employee data here
}
}
employee.xhtml
<h:form>
<!-- do it in loop -->
<p:inplace editor="true">
<p:inputText value="#{employeeBean.employee.name}" required="true" label="text"/>
</p:inplace>
<p:inplace editor="true">
<p:inputText value="#{employeeBean.employee.surname}" required="true" label="text"/>
</p:inplace>
<h:commandButton action="#{employeeBean.save}" />
</h:form>
使用
您的数据将在ajax事件中更改,因此ManagedBean应该(我认为是这样,但我可能错了)处理会话。如果不是这样,您的bean将失去状态。请向我们展示您的代码,不要期望我们将构建整个解决方案。您应该付出一些努力。@Spontifix谢谢……但我是JSF技术的新手。我可以为这种应用程序创建一个演示项目或代码吗?我仍然无法完成,因为我必须使用弹出窗口。我的旧值没有反映在我想要编辑的弹出页面上。我可能无法选择要更新的特定行setpropertyactionlistener。你能粘贴一些代码吗?我认为你想在对话中做这件事并不重要。您可以使用primefaces对话框模块在对话框中显示此内容。我只能使用RichFaces。我不知道如何帮助您,因为我不知道您的代码是什么样子。正如我之前所写的,您应该创建ManagedBeanSessionScoped
,就这样。我发现您的数据将使用ajax实时编辑。最后,您需要调用一些save
方法。仅此而已。setpropertyactionlistner是否仅适用于字符串,因为如果将字符串用作目标值,将调用我的setter函数,但当我希望设置类的对象时,它不起作用。我想从数据表中获取用户选择用于编辑目的的哪一行汽车,并在弹出页面上反映该内容
<h:form>
<!-- do it in loop -->
<p:inplace editor="true">
<p:inputText value="#{employeeBean.employee.name}" required="true" label="text"/>
</p:inplace>
<p:inplace editor="true">
<p:inputText value="#{employeeBean.employee.surname}" required="true" label="text"/>
</p:inplace>
<h:commandButton action="#{employeeBean.save}" />
</h:form>