我是jsf框架的新手,我讲的是中级英语,所以我希望您能理解我的问题。我有这样的情况:
这是我的文件abmEstaciones.xhtml中的内容
<ui:define name="contenido">
<div class="box">
<div class="box-header">
<h3 class="box-title">Lista de Estaciones</h3>
</div>
<!-- /.box-header -->
<div style="margin-top: 3%; margin-bottom: 2%;">
<h:message for="Alta" style="color:green; font-weight: bold;" />
<h:form id="Alta">
<h:commandLink styleClass="btn btn-success"
action="#{estacionMbReq.visualizarAltaEstacion}">
<i class="fa fa-plus-circle"></i>
<span class="menu-title">Agregar</span>
</h:commandLink>
</h:form>
</div>
<div class="box-body table-responsive">
<h:outputText value="No hay estaciones" style="color:red; font-weight: bold;" rendered="#{empty estacionMbReq.listaEstaciones}" />
<h:dataTable id="example1" rendered="#{not empty estacionMbReq.listaEstaciones}" value="#{estacionMbReq.listaEstaciones}"
var="estacion" styleClass="table table-bordered table-striped">
<h:column>
<f:facet name="header">Nombre</f:facet>
#{estacion.nombre}
</h:column>
<h:column>
<f:facet name="header">Total Estacionamientos</f:facet>
#{estacion.totalEstacionamientos}
</h:column>
<h:column>
<f:facet name="header">Cant. Estacionamientos libres</f:facet>
#{estacion.cantEstacionamientosLibres}
</h:column>
<h:column>
<f:facet name="header">Estado</f:facet>
#{estacion.estado}
</h:column>
<h:column>
<f:facet name="header">Opciones</f:facet>
<h:form id="formOpcTabla" name="formOpcTabla">
<h:commandLink
action="#{estacionMbSess.visualizarModificarEstacion}"
styleClass="btn btn-primary">
<i class="fa fa-edit"></i> Editar
<f:param name="idEstacion" value="#{estacion.idEstacion}" />
</h:commandLink>
<h:commandLink styleClass="btn btn-danger"
action="#{estacionMbSess.borradoLogico}">
<i class="fa fa-eraser"></i> Eliminar
<f:param name="idEstacion" value="#{estacion.idEstacion}" />
</h:commandLink>
</h:form>
</h:column>
</h:dataTable>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</ui:define>
这是faces-config.xml
中的导航规则 <navigation-rule>
<from-view-id>/abmEstaciones.xhtml</from-view-id>
<navigation-case>
<from-action>#{estacionMbReq.visualizarAltaEstacion}</from-action>
<from-outcome>successVisualizarAltaEstacion</from-outcome>
<to-view-id>/altaEstacion.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{estacionMbSess.visualizarModificarEstacion}</from-action>
<from-outcome>successVisualizarModificarEstacion</from-outcome>
<to-view-id>/modificarEstacion.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{estacionMbSess.borradoLogico}</from-action>
<from-outcome>listarEstaciones</from-outcome>
<to-view-id>/abmEstaciones.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
我试图在视图中使用两个托管bean,一方面是"EstacionMbReq"与requestScoped注释,另一方面是"EstacionMbSess"与SessionScoped注释。问题是当我点击"Editar"或"Eliminar" commandLinks时,它执行名为"EstacionMbReq"的managedBean的构造函数,而不是我指定的managedBean: "EstacionMbSess".
帮忙吗?可以在同一个视图中使用两个managedbean吗?谢谢你
构造函数EstacionMbSess
在每个HTTP用户会话中只执行一次,并且在处理点击请求之前发生。
EstacionMbReq
。