web应用程序-通过指向不同的页面来编辑一行数据表(弹出窗口)



我在数据表中显示了employee bean类的bean类中的employee对象列表,并希望在弹出窗口中编辑数据表中的特定行,如下所述

一个包含所有employee详细信息的datagrid,每行都有edit按钮。单击edit按钮后,新弹出窗口应显示特定单击员工的现有信息,编辑后,必须在列表和数据表中反映该特定对象的更改。

我正在努力寻找它,但没有找到在弹出窗口中传递对象进行编辑的解决方案。

您可以使用素数面在位模块来完成这项工作(http://www.primefaces.org/showcase/ui/inplace.jsf)。

我也是新手;(您所需要做的就是创建ManagedBean,它将负责您的数据。例如,假设您的数据库中有Employee表。首先,您应该创建名为Employee的实体。接下来,您需要创建ManagedBean,它将负责该实体。您需要做的最后一步是创建视图。

Employee.java(只需使用Netbeans/Eclipse创建此文件(

@Entity
public class Employee implements Serializable {    
    private Integer id;
    private String name;
    private String surname;
    private String position;
    // getters and setters
}

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>

使用<inplace/>,您的数据将在ajax事件中更改,因此ManagedBean应该(我认为是这样,但我可能错了(SessionScoped。如果没有,你的豆子就会松脱。

最新更新