我有以下代码,如果用户在一个事件中被捕,我希望Asistir按钮消失,我应该在servlet和jsp中写什么才能使它工作?感谢。
jsp按钮
<a href="formularioAsiste.jsp?id=${ev.idEvento}" class="btn btn-default">
<span class="glyphicon glyphicon-check">Asistir</span>
</a>
显示表格的Servlet
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 :(得分:0)
有两种解决方案:
1 /当用户订阅时,在用户的bean中添加一个布尔参数(参数)
2 /在servlet中,当用户单击subscibe时,您将控件传递给特定的servlet,它将在会话中设置一个参数,您可以随时调用它
解决方案N°2的一个例子:
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) { %>
<% } %>