Passar parametros de uma pagina JSF

Pessoal sera que alguem poderia me ajudar por favoooooorrr!!!
comento que sou iniciante em sistemas Web principalmente com javaEE (ideia e trabalhar tudo com javaEE, JPA, CDI…)

mas encontro dificuldades… a pagina eh para uma academia…
onde eu cadastro alunos e series(exercicos que eles tem que fazer), ate cadastrar beleza o problema esta em modificar estas series lembrando que eu tenho um objeto SERIE e outro SERIEDETALLES o segundo e a lista de series…

passo a pagina que contem os detalles para voces verem…

se voces observarem na parte de…


                <c:forEach var="item" items="#{serieDetalleFace.listTemporal}">
                            <tr>
                                                   <h:commandLink immediate="true" 
                                                   action="#{serieDetalleFace.doRemoveSerieDetalle}" 
                                                   value=" Excluir " />                                 
                            </tr>
                </c:forEach>

eu quero poder eliminar este item de la Lista!!!


?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="../baseadmin.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:c="http://java.sun.com/jsp/jstl/core">

    
    <ui:define name="title">
        Varios
    </ui:define>
    
    <ui:define name="content">
        <h2> Varios.:  #{serieDetalleFace.serie.alumno}</h2>
        <h:form>            
            <f:validateBean>        
                <h:messages/>
            <table>
                
                <tr>                
                    <td>Alumno.:</td>
                    <td><h:outputText value="#{serieDetalleFace.serie.alumno}"/></td>                
                    <br/>                    
                    &lt;td&gt;Numero de Series.:&lt;/td&gt;
                    &lt;td&gt;&lt;h:inputText value="#{serieDetalleFace.selectedBean.nroSeries}"/&gt;&lt;/td&gt;
                &lt;/tr&gt;                                  
                
                
                    &lt;tr&gt;
                        &lt;td&gt;Aparato Musculacion.:&lt;/td&gt;
                        &lt;td&gt;&lt;h:selectOneMenu  style="width: 150px" value="#{serieDetalleFace.selectedBean.aparatoMusculacion}"&gt;
                                &lt;f:selectItems var="itemSel" itemLabel="#{itemSel.descripcion}" itemValue="#{itemSel}" value="#{serieDetalleFace.allAparatoMusculacion}"/&gt;
                                &lt;f:converter converterId="aparatoMusuclacionConverter"/&gt;
                            &lt;/h:selectOneMenu&gt;
                        &lt;/td&gt;
                        
                        &lt;td&gt;Ejercicio.:&lt;/td&gt;
                        &lt;td&gt;&lt;h:selectOneMenu  style="width: 150px" value="#{serieDetalleFace.selectedBean.ejercicio}"&gt;
                                &lt;f:selectItems var="itemSel" itemLabel="#{itemSel.descripcion}" itemValue="#{itemSel}" value="#{serieDetalleFace.allEjercicios}"/&gt;
                                &lt;f:converter converterId="ejercicioConverter"/&gt;
                            &lt;/h:selectOneMenu&gt;
                        &lt;/td&gt;
                    &lt;/tr&gt;                                
                
                
                <br/>
                <br/>
           
                &lt;c:forEach var="item" items="#{serieDetalleFace.listTemporal}"&gt;
                            &lt;tr&gt;
                                                   &lt;h:commandLink immediate="true" 
                                                   action="#{serieDetalleFace.doRemoveSerieDetalle}" 
                                                   value=" Excluir " /&gt;                                 
                            &lt;/tr&gt;
                &lt;/c:forEach&gt;
                
                     
                

                &lt;tr&gt;
                    &lt;td&gt;&lt;center&gt;&lt;h:commandButton action="#{serieDetalleFace.doFinishCreateSerieDetalle()}" value="Adicionar Serie Detalle " /&gt;&lt;/center&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;center&gt;&lt;h:commandButton immediate="true"  action="#{serieDetalleFace.doListSerieDetalle()}" value="Cancelar" /&gt;&lt;/center&gt;&lt;/td&gt;                    
                &lt;/tr&gt;

            &lt;/table&gt; 
            &lt;/f:validateBean&gt;
        &lt;/h:form&gt;        
    &lt;/ui:define&gt;

&lt;/ui:composition&gt;

Por favor me ajudem!!!
e desculpa se me equivoquei no formular e onde a pergunta!!!

package py.com.academia.face;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import py.com.academia.beans.Alumno;
import py.com.academia.beans.AparatoMusculacion;
import py.com.academia.beans.Ejercicio;
import py.com.academia.beans.Serie;
import py.com.academia.beans.SerieDetalle;
import py.com.academia.session.SerieSession;


@Named
@SessionScoped  //@RequestScoped verificar
public class SerieDetalleFace extends BaseCDIBean<SerieDetalle> {

    private static final long serialVersionUID = 7L;
    @Inject
    private SerieSession bean;
    
    private Serie serie ;
    
    private Integer q  = 0 ;

    private List<SerieDetalle> list;
    
    private List<SerieDetalle> listTemporal;

    public SerieDetalleFace() 
    {       
        setSerie(new Serie());
        setSelectedBean(new SerieDetalle());
    }

    public String doEditSerieDetalle()
    {
        return "/admin/serie_detalle/edit.faces";
    }

    public String doFinishEditSerieDetalle() 
    {
        bean.setSerieDetalle(getSelectedBean());
        return doListSerieDetalle();
    }
    public String doRemoveSerieDetalle() 
    {
        
        
//        String s = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get( "parametroTeste" );  
//        log.info( s );  
//        
//        bean.removeSerieDetalle(getSelectedBean());
        return doListSerieDetalle();
    }

    public Integer posicao()
    {
        
     
        
        if( listTemporal == null )
        {
            System.out.println(" ojo Lista Temporal se Nula");            
        }
        
        if(listTemporal != null  )
        {
            System.out.println("ojo Lista Temporal no es nula  e tamanho = " + listTemporal.size() );            
        }
        
        if(listTemporal != null )
        {
            if(!listTemporal.isEmpty())
            {
                System.out.println("ojoESta vacia !!!");
                q = listTemporal.get(0).getNroSeries();
            }
        }
        
        return q;
        
    }
    
    public String doVariosSerieDetalle() 
    {               
        return "/admin/serie_detalle/varios.faces";
    }

    
    
    public String doCreateSerieDetalle() {
        setSelectedBean(new SerieDetalle());
        setSerie(new Serie());
        return "/admin/serie_detalle/add.faces";
    }

    public String doFinishCreateSerieDetalle() {
        getSelectedBean().setSerie(getSerie());
        getSelectedBean().getSerie().setFechaFin(new Date());
        getSelectedBean().getSerie().setFechaInicio(new Date());
        
        SerieDetalle sd = bean.saveSerieDetalle(getSelectedBean());
        
        setSerie(sd.getSerie());
                
        setListTemporal(new ArrayList<SerieDetalle>()) ;
                
        setListTemporal(getListaSeriesPorSerieID(getSerie()));
        
        setQ(posicao());
        
        setSelectedBean(new SerieDetalle());
        
        return doVariosSerieDetalle();
    }

    public String doListSerieDetalle() {
        list = bean.getAllSerieDetalle();
        return "/admin/serie_detalle/list.faces";
    }

    public List<Alumno> getAllAlumnos() 
    {
        return bean.getAllAlumnos();
    }            

    public List<Serie> getAllSeries() 
    {
        return bean.getAllSeries();
    }            
    
    
    public List<AparatoMusculacion> getAllAparatoMusculacion() 
    {
        return bean.getAllAparatoMusculacion();
    }                
    
    public List<Ejercicio> getAllEjercicios() 
    {
        return bean.getAllEjercicio();
    }                
    
    
    public List<SerieDetalle> getListSerieDetalle() 
    {
        return bean.getAllSerieDetalle();
    }
    
    public List<Serie> getListSerie() 
    {
        return bean.getAllSeries();
    }
        
    
    
    public List<SerieDetalle> getList() {
        return list;
    }

    public void setList(List<SerieDetalle> list) {
        this.list = list;
    }

    /**
     * @return the serie
     */
    public Serie getSerie() {
        return serie;
    }

    /**
     * @param serie the serie to set
     */
    public void setSerie(Serie serie) {
        this.serie = serie;
    }

    /**
     * @return the listTemporal
     */
    public List<SerieDetalle> getListTemporal() {
        return listTemporal;
    }

    /**
     * @param listTemporal the listTemporal to set
     */
    public void setListTemporal(List<SerieDetalle> listTemporal) {
        this.listTemporal = listTemporal;
    }

    /**
     * @return the q
     */
    public Integer getQ() {
        return q;
    }

    /**
     * @param q the q to set
     */
    public void setQ(Integer q) {
        this.q = q;
    }

    private List<SerieDetalle> getListaSeriesPorSerieID(Serie serie) 
    {
        return bean.getListSerieDetallePorSerieId(serie);
    }
    
    
    
}

Ja solucionei o problema nao sei de da melhor forma se alguem chegar a ver e quiser comentar estarei grato!!!
abracos!!!



&lt;c:forEach var="item" items="#{serieDetalleFace.listTemporal}"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;h:outputText value="#{item.id}" &gt; &lt;/h:outputText&gt;
&lt;/td&gt;
&lt;td&gt;
- Aparato - 
&lt;h:outputText value="#{item.aparatoMusculacion.descripcion}" &gt; &lt;/h:outputText&gt;
&lt;/td&gt;
&lt;td&gt;
- Ejercicio - 
&lt;h:outputText value="#{item.ejercicio.descripcion}" &gt; &lt;/h:outputText&gt;
&lt;/td&gt;
&lt;td&gt;
- Series - 
&lt;h:outputText value="#{item.nroSeries}" &gt; &lt;/h:outputText&gt;
&lt;/td&gt; 
&lt;td&gt;
&lt;f:param name="id" value="#{item.id}" /&gt;
&lt;h:commandLink immediate="true" 
action="#{serieDetalleFace.doRemoveSerieDetalle}" 
value=" Excluir " &gt; 
&lt;/h:commandLink&gt;
&lt;/td&gt; 
&lt;/tr&gt; 

&lt;/c:forEach&gt;

Depois na classe Session




public String doRemoveSerieDetalle() 
{

String id = (String) FacesContext.getCurrentInstance().getExternalContext()
.getRequestParameterMap().get("id");

SerieDetalle sd = bean.getSerieDetalleById(Integer.valueOf(id));

Integer idSerie = sd.getSerie().getId();

bean.removeSerieDetalle(sd);

Serie serie = bean.getSerieById(idSerie);

setSerie(serie);

setListTemporal(new ArrayList&lt;SerieDetalle&gt;()) ;

setListTemporal(getListaSeriesPorSerieID(getSerie()));

setSelectedBean(new SerieDetalle());

return doVariosSerieDetalle(); 
}