Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
Jsf 从每个对象都有自己按钮的对象列表中传递选定对象_Jsf_Primefaces_Javabeans - Fatal编程技术网

Jsf 从每个对象都有自己按钮的对象列表中传递选定对象

Jsf 从每个对象都有自己按钮的对象列表中传递选定对象,jsf,primefaces,javabeans,Jsf,Primefaces,Javabeans,我正在开发一个显示对象列表的web应用程序,每个对象都有自己的模式,当在模式中单击时,有两个下拉菜单和一个按钮,用于调用bean中的方法add,以执行操作并添加选定对象,同时取三个值,selected object,从两个下拉列表和微调器值中选择两个项目 <ui:repeat value="#{ViewTeacher.teacherList}" var="teacher" varStatus="status"> <h:panelGroup layout="block" st

我正在开发一个显示对象列表的web应用程序,每个对象都有自己的模式,当在模式中单击时,有两个下拉菜单和一个按钮,用于调用bean中的方法add,以执行操作并添加选定对象,同时取三个值,selected object,从两个下拉列表和微调器值中选择两个项目

<ui:repeat value="#{ViewTeacher.teacherList}" var="teacher"
varStatus="status">


<h:panelGroup layout="block" styleClass="name">
<p>#{teacher.name}</p>

</h:panelGroup>
<br />
<br />
<a onclick="viewModal(#{status.index})" class="btn btn-success">view</a>

<h:panelGroup id="modal" layout="block" class="modal"
style="max-width: 44em;" tabindex="1">
<h:panelGroup class="modal-content" layout="block">
<span class="close" onclick="modClose()">&times;</span>

<h:outputText styleClass="description" value="#{teacher.name}" />
<br />
<br />

<br />
students


<h:selectOneMenu value="ok" class="form-control">

<f:selectItems value="#{teacher.students}" var="s"
itemValue="#{s.id}" itemLabel="#{s.name}" />



</h:selectOneMenu>


classes

<h:selectOneMenu value="ok" class="form-control">
<f:selectItems value="#{teacher.classes}" var="c"
itemValue="#{c.id}" itemLabel="#{c.name}" />
</h:selectOneMenu>
<br />

<h:panelGroup layout="block" styleClass="form-group">


<p:spinner min="1" max="10" />

</h:panelGroup>

<h:commandButton id="submitButton" styleClass="btn btn-success" value="ADD">
<!—-this is the button that is supposed to take the values



</h:commandButton>

<a onclick="modClose()" class="btn btn-success">CANCEL</a>

</h:panelGroup>


</h:panelGroup>


</ui:repeat>

#{教师姓名}



看法 &时代;


学生 班级
取消
我试过:

<f:param name="name1" value="China" />

但事实上param的名称将被重复,将使其始终保持不变,并可能被设置为检索到的最新对象

有什么建议吗

更新:

<p:commandLink styleClass="btn btn-success" process="@this"
    onclick="viewModal(#{status.index});">
    <h:outputText value="ADD" />
                                <f:setPropertyActionListener
        value="#{teacher.id}" target="#{ViewTeacher.selectedTeacher}" /> 

        </p:commandLink>


进行此更改以传递教师id,但在bean中仍然为空。首先,为每个对象设置单独的模式不是一个好主意。您可以通过以下方式实现(您正在尝试的):

1) 。在bean中为所选对象添加属性(及其getter和setter)


2) 。放置单一模态(
谢谢,即使每个模态中显示的信息不同,也可以将模态放在重复之外吗?我还想问,在我想发送给教师、所选班级和所选学生的行动听众中(这两个是从模态中选择的)这是可能的吗?您只是在重复中张贴commandlink吗?第一条评论:是的,因为每次单击查看链接时所选对象都会更新。第二条评论:您需要在bean中放置所选类和学生的其他属性。是的,
commandlink
与您的查看链接相同,并且将被删除在repeat.added动作监听器中添加了ced,但它没有得到更新,所选的教师需要什么特别的声明?或者它是用于动作监听器的注释??您没有使用
update=“modal”
p:commandLink
上的
。这就是弹出窗口中的值没有得到更新的原因。我认为,您使用的
selectedTeacher
对象是错误的。您必须在bean的模态和附加属性上使用
students
classes
对象。
<p:commandLink styleClass="btn btn-success" process="@this" update="modal"
    onclick="PF('modal').show();">
    <h:outputText value="View" />
    <f:setPropertyActionListener
        value="#{teacher}" target="#{ViewTeacher.selectedTeacher}" />
</p:commandLink>
<ui:repeat value="#{ViewTeacher.teacherList}" var="teacher" varStatus="status">
    <h:panelGroup layout="block" styleClass="name">
        <p>#{teacher.name}</p>
    </h:panelGroup>

    <p:commandLink styleClass="btn btn-success" process="@this" update="modal"
        oncomplete="PF('modal').show();">
        <h:outputText value="view" />
        <f:setPropertyActionListener
            value="#{teacher}" target="#{ViewTeacher.selectedTeacher}" />
    </p:commandLink>
</ui:repeat>

<p:dialog id="modal" widgetVar="modal" header="Edit Teacher" modal="true"
    showEffect="fade" hideEffect="fade" resizable="false" closeOnEscape="true"
    styleClass="teachers-dialog">

    <h:outputText styleClass="description" value="#{ViewTeacher.selectedTeacher.name}" />
    <br />
    <br />
    <br />

    students
    <h:selectOneMenu value="#{ViewTeacher.selectedStudentId}" class="form-control">
        <f:selectItems value="#{ViewTeacher.selectedTeacher.students}"
            var="s" itemValue="#{s.id}" itemLabel="#{s.name}" />
    </h:selectOneMenu>

    classes
    <h:selectOneMenu value="#{ViewTeacher.selectedClassId}" class="form-control">
        <f:selectItems value="#{ViewTeacher.selectedTeacher.classes}"
            var="c" itemValue="#{c.id}" itemLabel="#{c.name}" />
    </h:selectOneMenu>
    <br />

    <h:panelGroup layout="block" styleClass="form-group">
        <p:spinner value="#{ViewTeacher.spinnerValue}" min="1" max="10" />
    </h:panelGroup>

    <h:commandButton id="submitButton" styleClass="btn btn-success" value="ADD">
    </h:commandButton>
</p:dialog>