2016-06-15 16 views
1

私は以下のコードを持っています。ユーザーがあるイベントで停止している場合はAsistirボタンが消えてしまいます。ありがとう。ユーザーがアシストしていることを確認する方法

JSPボタン

<a href="formularioAsiste.jsp?id=${ev.idEvento}" class="btn btn-default"> 
         <span class="glyphicon glyphicon-check">Asistir</span>      
         </a> 

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
       throws ServletException, IOException { 

      GestionAsistentes gestionAsistentes = new GestionAsistentes(); 

      GestionEventos gestionEventos = new GestionEventos(); 

      Collection<Evento> listaEventos = gestionEventos.list(); 

      Collection<Asiste> listaAsistentes = gestionAsistentes.list(); 

      request.setAttribute("asistentes", listaAsistentes); 


      request.setAttribute("eventos", listaEventos); 

      request.getRequestDispatcher("tabla.jsp").forward(request, response); 
      // request.getRequestDispatcher("TablaEventosServlet").forward(request, 
      // response); 
     } 

ListaAsistentesがASISTユーザとそのユーザ 、コードに関連するイベント有するテーブルを示しサーブレット:

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 


     request.setCharacterEncoding("UTF-8"); 

     String strIdEvento = request.getParameter("evento"); 
     Usuario asis = (Usuario) request.getSession().getAttribute("usuario"); 

     GestionEventos gesEven = new GestionEventos(); 

     Evento ev = gesEven.getEventoPorId(Integer.parseInt(strIdEvento)); 

     String nombreEntidad = request.getParameter("nombreEntidad"); 
     String nombreCuenta = request.getParameter("nombreCuenta"); 
     String iban = request.getParameter("iban"); 
     String numeroCuenta = request.getParameter("numeroCuenta"); 
     Date fechaPago = new Date(); 

     GestionAsistentes gestionAsistentes = new GestionAsistentes(); 



     Asiste asistente = new Asiste(nombreEntidad, nombreCuenta, iban, numeroCuenta, fechaPago); 

     asistente.setPrimaryKey(new UsuarioEventoId(asis,ev)); 

     gestionAsistentes.addAsistente(asistente); 

     request.setAttribute("asistentes", gestionAsistentes.list());  




     response.sendRedirect("TablaEventosServlet"); 
    } 
+0

で少し難しい:あなたは

このソリューションN°2の例をいつでもあなたはそれを呼び出すことができますパラメータd。たぶんもっと具体的な説明を追加してください。 'request.setAttribute'はそうしなければなりません。JSPではプリミティブ' <%if(...){%> ... 'またはより良い' ... ''インスタンス。 –

+0

あなたの言語に忍耐強くてありがとう、私はリスト(listaAsistentes)からイベントに出席するユーザーを抽出しようとしていると、記録されたユーザーがイベントに来る場合は、ボタンなどを表示しないでください。 – Jose

答えて

0

2つのソリューションがあります。

1 /ユーザがあなたがそれを設定するときにユーザのBeanにブールパラメータを追加する(パラメータ)
2 /ユーザがサブスクリプションをクリックしたときにサーブレットでコントロールを特定のサーブレットに渡すと、 REAへの非スペイン語のための

public class ExampleServlet extends HttpServlet { 


    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

//your code 



     request.getSession().setAttribute("subscribed", "isSubscribed"); 

     RequestDispatcher view = request.getRequestDispatcher("My.jsp"); 
     view.forward(request, response); 


    }} 

、あなたのJSP

<% String msg2=(String)request.getAttribute("subscribed");%> 

     <% if ((msg2==null || msg2.isEmpty())) { %> 
     <a href="ExampleServlet?id=${ev.idEvento}" class="btn btn-default"> 
         <span class="glyphicon glyphicon-check">Asistir</span>      
         </a>   
     <% } else if(msg2!=null) { %> 

     <% } %> 
+0

FYI:スクリプトレットの使用は推奨されません。[2003年以降](http://www.oracle.com/technetwork/articles/javase/code-convention-138726.html)。 [現在の技術状態](http://stackoverflow.com/tags/el/info)に追いついて、初心者に悪い習慣を教えさせないようにしてください。 http://stackoverflow.com/q/3177733も参照してください。 – BalusC

+0

ありがとうございました – Taha

+0

感謝します。 – Jose

関連する問題