Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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
Java 使用p:SelectOne菜单更改分配的用户_Java_Jsf 2_Primefaces - Fatal编程技术网

Java 使用p:SelectOne菜单更改分配的用户

Java 使用p:SelectOne菜单更改分配的用户,java,jsf-2,primefaces,Java,Jsf 2,Primefaces,我一直在寻找类似的问题,但我没有找到任何。 事情是这样的 我正在尝试创建一个web应用程序来处理人力资源方面的事情,比如员工请求(辞职、贷款、休假等) 我正在使用primeface,我有以下问题无法解决 我想做的是: 1-当用户首次创建请求并分配用户并提交表单时 下一步是 2-经理会看到请求,然后使用数据表中的下拉菜单将“负责请求的人员”更改为新的人员,我一直在尝试解决这个问题,但运气不佳。 这是对话脚本 <h:form id='resignf'> <p:dialog id='

我一直在寻找类似的问题,但我没有找到任何。 事情是这样的

我正在尝试创建一个web应用程序来处理人力资源方面的事情,比如员工请求(辞职、贷款、休假等) 我正在使用primeface,我有以下问题无法解决

我想做的是:

1-当用户首次创建请求并分配用户并提交表单时 下一步是

2-经理会看到请求,然后使用数据表中的下拉菜单将“负责请求的人员”更改为新的人员,我一直在尝试解决这个问题,但运气不佳。 这是对话脚本

<h:form id='resignf'>
<p:dialog id='res' header="Resign Request" widgetVar="resign" minHeight="40">
        <p:outputLabel value="Employee name" /> 
        <p:inputText value="#{controller.resignName}" required="true" requiredMessage="This field is required" />

        <p:outputLabel value="Employee Number" /> 
        <p:inputText value="#{controller.resignEmployeNum}" required="true" />

        <p:inputText value="#{controller.resignNationalIDNum}" required="true"  />

        <p:inputText value="#{controller.resignNotes}" required="true"  />

        <p:outputLabel for="AssignUser" value="User" /> 

        <p:selectOneMenu id="AssignUser"  value="#{controller.assignUser}" style="width:150px" converter="UConverter">
            <f:selectItems value="#{controller.usersList}"  var="user" itemLabel="#{user.username}"/>
        </p:selectOneMenu >


        <p:commandButton action="#{controller.createResignRequest()}" onclick="PF('resign').hide();" update="@all"/>
    </p:dialog>
现在所有这些都工作得很好,但是当我试图在这里用新用户更改旧用户时,我感到困惑!到目前为止,我一直在想的是,我需要找到老用户,然后切换他,但我无法找到使用选择列表的方法。下面是更改“负责请求的用户”的脚本

我试图从代码中获得尽可能多的信息,但我有很多东西不确定是否应该提交。我试过ajax

注意:我正在使用mySQL、ApacheTomcat,以备不时之需。

解决了这个问题

public void editRequestStep(ResignationRequest r) {

    System.out.println("Edit resign " + EditAssignUser +"   this is userthig" + r.getName());

    try {
        System.out.println("Edit resign");
        r.setUserID(EditAssignUser);

    } catch (Exception ex) {
        Logger.getLogger(Controller.class.getName()).log(Level.SEVERE, null, ex);
    }

}


<p:selectOneMenu id="AssignUser"  value="#{controller.editAssignUser}" style="width:150px" converter="UConverter"> 
                                <p:ajax listener="#{controller.editRequestStep(resign)}" update="@all"/>
                                <f:selectItems value="#{controller.usersList}"  var="user" itemLabel="#{user.username}" >



                                    </f:selectItems>

显然,这不是一个完全相同的问题,因为这是一个具体的问题。把你的问题分解成可管理的部分。您能否从客户端向服务器获取正确的数据?如果没有,则不涉及MySQL,如果可以,则不涉及jsf/primefaces。jquery目前完全不参与,JavaSE也不参与。我删除了这些,但请通过阅读和@Kukeltje来改进您的问题实际上我的问题不是获取数据或不获取数据,我实际上在使用sql。primeface的问题是,我需要使用下拉菜单更改“ResignRequest表”中的用户ID,但我不能。这就是全部。“这就是全部”,关于什么?您永远不会直接从下拉列表(客户端)将数据获取到数据库表中。JSF负责将数据从客户端获取到Web服务器,将数据从Web服务器获取到数据库是不同的代码。你发布了一个对话框,这样你就可以在没有对话框的情况下让它工作了?如果没有,请将其从示例中删除。你能在没有数据表的情况下让它工作吗。如果不是,请将其从示例中删除。您的问题与JavaSE无关。您不能用只包含一个main方法和基本java j.l.s类的代码来重现这一点,为什么在“onchange”中使用“submit()”?它有什么作用?也许读书有帮助。以及
selectItems
上的actionListener???我认为您应该从开发中退一步,阅读一本关于JSF的基础教程
<p:dataTable id="resignTable1" cellSeparator="true" editMode="cell" editable="true"  var="resign" value="#{controller.resignList}" paginator="true"    rows="10" rowIndexVar="index1">
    <p:ajax id="aj" event="cellEdit" listener="#{controller.editUser(user)}" update="resignTable1"/>
    <p:column headerText="Employee number">
        <p:cellEditor>
            <f:facet name="output"> <h:outputText value="#{resign.employeeNum}" /></f:facet>
            <f:facet name="input"> <h:inputText value="#{resign.employeeNum}" /></f:facet>
        </p:cellEditor>
    </p:column>
    <p:column headerText="name">
        <p:cellEditor>
            <f:facet name="output"> <h:outputText value="#{resign.name}" /></f:facet>
            <f:facet name="input"> <h:inputText value="#{resign.name}" /></f:facet>
        </p:cellEditor>
    </p:column>
    <p:column headerText="Request Number">
        <p:cellEditor>
            <f:facet name="output"> <h:outputText value="#{resign.id}" /></f:facet>
            <f:facet name="input"> <h:inputText value="#{resign.id}" /></f:facet>

        </p:cellEditor>
    </p:column>
    <p:column headerText="User responsible for the request">
        <p:cellEditor>
            <f:facet name="output"> <h:outputText value="#{resign.userID}" /></f:facet>
            <f:facet name="input"> <h:inputText value="#{resign.userID}" /></f:facet>
        </p:cellEditor>
    </p:column>
    <p:column headerText="Comments">
        <p:cellEditor>
            <f:facet name="output"> <h:outputText value="#{resign.notes}" /></f:facet>
            <f:facet name="input"> <h:inputText value="#{resign.notes}" /></f:facet>
        </p:cellEditor>
    </p:column>
    <p:column headerText="Send the request to the next employee">
        <p:selectOneMenu id="AssignUser"  value="#{controller.assignUser}" style="width:150px" converter="UConverter" onchange="submit();">
            <f:selectItems value="#{controller.usersList}"  var="user" itemLabel="#{user.username}"   actionListener="#{controller.editRequestStep(resign)}"  >
            </f:selectItems>
        </p:selectOneMenu >
public void editRequestStep(ResignationRequest r) {

    System.out.println("Edit resign");

    try {
        System.out.println("Edit resign");
        rController.edit(r);

    } catch (Exception ex) {
        Logger.getLogger(Controller.class.getName()).log(Level.SEVERE, null, ex);
    }

}
public void editRequestStep(ResignationRequest r) {

    System.out.println("Edit resign " + EditAssignUser +"   this is userthig" + r.getName());

    try {
        System.out.println("Edit resign");
        r.setUserID(EditAssignUser);

    } catch (Exception ex) {
        Logger.getLogger(Controller.class.getName()).log(Level.SEVERE, null, ex);
    }

}


<p:selectOneMenu id="AssignUser"  value="#{controller.editAssignUser}" style="width:150px" converter="UConverter"> 
                                <p:ajax listener="#{controller.editRequestStep(resign)}" update="@all"/>
                                <f:selectItems value="#{controller.usersList}"  var="user" itemLabel="#{user.username}" >



                                    </f:selectItems>
    public void editRequestStep(ResignationRequest r) {

    System.out.println("Edit resign " + EditAssignUser +"   this is userthig" + r.getName());

    try {
        System.out.println("Edit resign");
        r.setUserID(EditAssignUser);

    } catch (Exception ex) {
        Logger.getLogger(Controller.class.getName()).log(Level.SEVERE, null, ex);
    }

}