将id参数传递给表单以在JSF中加载动态内容

时间:2013-06-02 14:13:46

标签: forms jsf dynamic datatable

我有如下:

我有一个数据表可以将确定时刻分配给历史的移动设备打印到用户列表,数据表打印两者:已分配和未分配,当管理员想要编辑特定分配时可以更改分配日期,过期日期,行数,移动电话等等......好吧,我查询了那个只显示手机和行编辑的用户,那个时刻没有为任何人分配,并显示行和终端是如果我想编辑相对于他的号码和终端的某些字段而不必分配另一个移动电话或线路,那么在那个时刻为该用户分配,因为如果我这样做,为该用户分配的线路和移动电话将不会出现用于编辑而我将有义务选择另一个。

就是这样,但是我不知道如何加载那个移动列表和基于分配代码的列表,当我显示模态引导表单选择根据此代码检索此数据时,为我的查询生成过滤器,这就是代码:

asignacion.jsf

 <h:dataTable columnClasses="codigo, fechaini, fechafin, terminal, usuario, numero, perfil, asignado" class="table table-striped table-bordered bootstrap-datatable datatable" value="${listaTerminales.listaAsigMovil_2}" var="o">
                                            <h:column class="hide">
                                                <f:facet name="header">
                                                    <h:outputText value="Codigo"/>
                                                </f:facet>
                                                <h:outputText value="${o.codigo}" />
                                            </h:column>
                                            <h:column>
                                                <f:facet name="header">
                                                    <h:outputText value="Fecha Asignación"/>
                                                </f:facet>
                                                <h:outputText value="${o.fechaIniStr}"/>                                                        
                                            </h:column>
                                            <h:column>
                                                <f:facet name="header">
                                                    <h:outputText value="Fecha Baja"/>
                                                </f:facet>
                                                <h:outputText value="${o.fechaFinStr}"/>                                                        
                                            </h:column>
                                            <h:column>
                                                <f:facet name="header">
                                                    <h:outputText value="Terminal"/>
                                                </f:facet>
                                                <h:inputHidden class="idTerminal" value="${o.codigoTerminal.codigo}" />
                                                <h:outputText value="${o.codigoTerminal.marca} ${o.codigoTerminal.modelo}"/>                                                       
                                            </h:column>
                                            <h:column>
                                                <f:facet name="header">
                                                    <h:outputText value="Usuario"/>
                                                </f:facet>
                                                <h:outputText value="${o.dni.dni}"/>                                                        
                                            </h:column>
                                            <h:column>
                                                <f:facet name="header">
                                                    <h:outputText value="Número"/>
                                                </f:facet>
                                                <h:outputText value="${o.codigoNumero.numero}"/>                                                        
                                            </h:column>
                                            <h:column>
                                                <f:facet name="header">
                                                    <h:outputText value="Perfil"/>
                                                </f:facet>
                                                <h:inputHidden class="idPerfil" value="${o.codigoPerfil.codigo}" />
                                                <h:outputText value="${o.codigoPerfil.descripcion}"/>                                                        
                                            </h:column>
                                            <c:if test="${rol == 'administrador'}">
                                              <h:column>
                                                <f:facet name="header">
                                                    <h:outputText value="Asignado"/>
                                                </f:facet>
                                                  <h:outputText value="${o.asignado}"/>                                                       
                                              </h:column>  
                                                <h:column>
                                                    <f:facet name="header">
                                                   <h:outputText value="Acciones"/>
                                                    </f:facet>
                                                <a data-toggle='modal' href='#asig-movil' class='btn btn-success edit'>
                                                    <i class='icon3-edit icon-white'></i>Editar</a>
                                                </h:column>
                                             </c:if>

                                        </h:dataTable>

  <!-- start modal -->                                                 
                                              <div class="hide fade modal" id="asig-movil">
                                                    <div class="modal-header">
                                                      <button type="button" class="close" data-dismiss="modal">×</button>
                                                      <h3>Editar Datos</h3>
                                                    </div>
                                                   <h:form class="form-horizontal well" id="form-asig-movil">
                                                    <div class="modal-body">                                                          

                                                        <fieldset>                                                              
                                                            <h:inputHidden id="codigo-form" value="#{terminalesBean.codigoAsig}">                                                                     
                                                            </h:inputHidden>
                                                            <h:inputHidden id="dni-form" value="#{listaTerminales.dni}"></h:inputHidden>
                                                            <h4>Asignado: </h4><h:selectOneRadio layout="lineDirection" id="asignado-form" value="#{listaTerminales.codAsignado}">
                                                                <f:selectItem id="y" itemLabel="SI" itemValue="S"/> 
                                                                <f:selectItem id="n" itemLabel="NO" itemValue="N"/>
                                                            </h:selectOneRadio>                                                                
                                                            <h4>Número de Teléfono: </h4><h:selectOneMenu class="validate[required]" id="numero-form" value="#{listaTerminales.codigoNumero}">
                                                                <f:selectItems var="l"  itemLabel="#{l.numero}" itemValue="#{l.codigo}" value="#{lineasBean.listaLineasNoAsig}" />
                                                                   </h:selectOneMenu> 
                                                            <h4>Terminal: </h4><h:selectOneMenu class="validate[required]" id="terminal-form" value="#{listaTerminales.codigoTerminal}">
                                                                <f:selectItems var="t"  itemLabel="#{t.marca} #{t.modelo}" itemValue="#{t.codigo}" value="#{terminalesBean.terminalesMovilAndAsig}" />
                                                                               </h:selectOneMenu> 
                                                            <h4>Perfil </h4><h:selectOneMenu class="validate[required]" id="perfil-form" value="#{listaTerminales.codigoPerfil}">
                                                                <f:selectItems var="p"  itemLabel="#{p.descripcion}" itemValue="#{p.codigo}" value="#{perfilBean.listaPerfiles}" />
                                                                               </h:selectOneMenu> 
                                                            <h4>Fecha asignación: </h4><h:inputText class="validate[required]" id="fechaini-form" value="#{listaTerminales.fechaAsig}"></h:inputText>
                                                            <h4>Fecha finalización: </h4><h:inputText class="validate[required]" id="fechafin-form" value="#{listaTerminales.fechaFin}"></h:inputText>                            
                                                        </fieldset>   
                                                    </div>
                                                    <div class="modal-footer">
                                                        <a href="#" class="btn" data-dismiss="modal">Cancelar</a>
                                                        <p:commandButton id="okInsertar" onclick="if($('#form-asig-movil').validationEngine('validate')===false){return false;}"
                                                                         styleClass="btn btn-primary ok" value="Ok" action="#{listaTerminales.modificar()}"
                                                                         oncomplete="checkCRUD(xhr, status, args)">                                                                
                                                        </p:commandButton>                                                                                                                                                               
                                                      </div> 
                                                    </h:form>

                                                  </div> 

                                              <!-- end modal -->

terminalesBean.java

 package app.bean;

 import app.dao.TerminalFacade; 
 import app.entity.Terminal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import javax.ejb.EJB;
 import javax.faces.bean.ManagedBean;
 import javax.faces.bean.RequestScoped;
 import javax.faces.bean.ViewScoped;
 import org.primefaces.context.RequestContext;

 /**
 *
 * @author Usuario
 */
 @ManagedBean
 @RequestScoped
 @ViewScoped
public class terminalesBean {
@EJB
private TerminalFacade termFac;
private int codigo;
private String fecha_alta;
private Date fecha_alta_date;
private String marca;
private String modelo;
private String configuracion;
private int sn;
private List<Terminal> terminales;
private int codigoAsig;

public int getCodigo(){
    return this.codigo;
}

public void setCodigo(int codigo){
    this.codigo = codigo;
}

public String getFechaAlta(){
    SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");        
    if(fecha_alta_date!=null)
        return formatoFecha.format(fecha_alta_date);
    return null;
}

public void setFechaAlta(String fecha){
    SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");
    try {        
        this.fecha_alta_date = formatoFecha.parse(fecha);
        this.fecha_alta = fecha;
    } catch (ParseException ex) {
        Logger.getLogger(lineasBean.class.getName()).log(Level.SEVERE, null, ex);
    }
}

public String getMarca(){
    return this.marca;
}

public void setMarca(String marca){
    this.marca = marca;
}

public String getModelo(){
    return this.modelo;
}

public void setModelo(String modelo){
    this.modelo = modelo;
}

public String getConfiguracion(){
    return this.configuracion;
}

public void setConfiguracion(String configuracion){
    this.configuracion = configuracion;
}

public int getSN(){
    return this.sn;
}

public void setSN(int sn){
    this.sn = sn;
}

public void setCodigoAsig(int codigoAsig){
    this.codigoAsig = codigoAsig;
}

public int getCodigoAsig(){
    return this.codigoAsig;
}


public List<Terminal> getTerminales(){
    terminales = (List<Terminal>)termFac.findAll();
    return this.terminales;
}

public List<Terminal> getTerminalesFijoAndAsig(){
    terminales = (List<Terminal>)termFac.findByFijoAndAsig(this.codigoAsig);
    return this.terminales;
}

public List<Terminal> getTerminalesMovilAndAsig(){
    terminales = (List<Terminal>)termFac.findByMovilAndAsig(this.codigoAsig);
    return this.terminales;
}

public void setTerminales(List<Terminal> terminales){
    this.terminales = terminales;
}

public void borrar(){
    Terminal t = new Terminal();
    t = termFac.find(codigo);
    termFac.delete(t);
}

public void insert(){
    Terminal t;
    t =(Terminal)termFac.findbysn(sn);
    if(t == null && this.sn != 0){
        t = new Terminal();
        //t.setCodigo(codigo);                 
        t.setFechaAlta(new Date());
        t.setConfiguracion(configuracion);
        t.setMarca(marca);
        t.setModelo(modelo);
        t.setSn(sn);
        termFac.insert(t);
    }
    else{
        t.setConfiguracion(configuracion);
        t.setMarca(marca);
        t.setModelo(modelo);
        t.setSn(sn);
        termFac.edit(t);
    }
    RequestContext reqCtx = RequestContext.getCurrentInstance();
    reqCtx.addCallbackParam("codigo", t.getCodigo());
    reqCtx.addCallbackParam("fecha_alta", t.getFechaAltaStr());        
    reqCtx.addCallbackParam("marca", t.getMarca());
    reqCtx.addCallbackParam("modelo", t.getModelo());
    reqCtx.addCallbackParam("configuracion", t.getConfiguracion());
    reqCtx.addCallbackParam("sn", t.getSn());
}
public terminalesBean() {
}

}

我想要的是将$ {o.codigo}参数传递给方法setCodigAsig(),然后在方法getTerminalesMovilAndAsig()中进行过滤,并在模态加载中使用ids“numero-form”和“terminal-”加载内容表单“,如何在数据表的每一行中单击”编辑“并根据此代码动态加载此内容的模式形式?

问候!

0 个答案:

没有答案