imはJSFとJAVAでも非常に新しいですが、大学のプロジェクトに取り組んでいて、解決できないいくつかの問題があります:c:whenとc:if:dynamicTableからの動的パラメータを使用した場合:dataTable var
は、基本的に私がボタンを表示しようとしている人は、 "inscribir"と刻印された行為に刻まれていなければボタンを表示しようとしています。
を使用しようとしているかどうかを確認するには、ログインしたユーザーがそのコースに記載されているかどうかを確認する必要があります。
は、ここに私のコードです:
<h:dataTable value="#{materiaController.getAll()}" var="materia">
<h:column>
<f:facet name="header">id</f:facet>
#{materia.id}
</h:column>
<h:column>
<f:facet name="header">Nombre</f:facet>
#{materia.nombre}
</h:column>
<h:column>
<f:facet name="header">Estado</f:facet>
#{materia.estado.descripcion}
</h:column>
<c:choose>
<c:when test="#{materiaController.cursaMateria(materia.id) == false}">
<h:column>
<h:form>
<h:commandButton value="Inscribir" action="#{materiaController.inscribirMateria(materia.id)}"/>
</h:form>
</h:column>
</c:when>
<c:otherwise>
<h:column>
<h:form>
<h:commandButton value="Desinscribir" action="#{materiaController.desinscribirMateria(materia.id)}"/>
</h:form>
</h:column>
</c:otherwise>
</c:choose>
</h:dataTable>
問題はメソッド「cursaMateria」は常にnullなどのパラメータを取得しているということです。 btw最初の列(id)は、対応するidと共に出力されます。
<c:if test="#{materiaController.cursaMateria(materia.id)}">
<h:form>
<h:commandButton value="Inscribir" action="#{materiaController.inscribirMateria(materia.id)}"/>
</h:form>
</c:if>
<c:if test="#{!materiaController.cursaMateria(materia.id)}">
<h:form>
<h:commandButton value="Desinscribir" action="#{materiaController.desinscribirMateria(materia.id)}"/>
</h:form>
</c:if>
、この方法:
<h:panelGroup rendered="#{materiaController.cursaMateria(materiaId) == true}">
<h:column>
<h:form>
<h:commandButton value="Inscribir" action="#{materiaController.inscribirMateria(materiaId)}"/>
</h:form>
</h:column>
</h:panelGroup>
<h:panelGroup rendered="#{materiaController.cursaMateria(materiaId) == false}">
<h:column>
<h:form>
<h:commandButton value="Desinscribir" action="#{materiaController.desinscribirMateria(materiaId)}"/>
</h:form>
</h:column>
</h:panelGroup>
と、この:
<h:column>
<h:form>
<h:commandButton value="Inscribir" action="#{materiaController.inscribirMateria(materia.id)}" rendered="#{materiaController.cursaMateria(materia.id)}" />
<h:commandButton value="Desinscribir" action="#{materiaController.desinscribirMateria(materia.id)}" rendered="#{!materiaController.cursaMateria(materia.id)}"/>
</h:form>
</h:column>
でき
は、私はあまりにも他の方法を試してみたが、常に同じで、カントは、パラメータを送信します誰も私にこれを助けますか?
ありがとうございます。
@MikitaBerazouskiさんありがとうございました –
@LeonardoCabréご参考までに。がんばろう。 –