Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web applications 通过指向不同页面编辑数据表行(弹出)_Web Applications_Jsf 2 - Fatal编程技术网

Web applications 通过指向不同页面编辑数据表行(弹出)

Web applications 通过指向不同页面编辑数据表行(弹出),web-applications,jsf-2,Web Applications,Jsf 2,我在datatable中显示了bean类的employeebean类中的employee对象列表,并希望在弹出窗口中编辑datatable中的特定行,如下所述 包含所有员工详细信息的数据网格,每行都有编辑按钮。单击编辑按钮时,新弹出窗口应显示特定单击员工的现有信息,编辑后,更改必须在列表中以及datatable中反映该特定对象 我正在努力,但没有找到在弹出窗口中传递要编辑的对象的解决方案。您可以使用primefaces inplace模块来完成这项工作()。我也是新手;)您所需要做的就是创建Ma

我在datatable中显示了bean类的
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。我不知道如何帮助您,因为我不知道您的代码是什么样子。正如我之前所写的,您应该创建ManagedBean
SessionScoped
,就这样。我发现您的数据将使用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>