Tôi không có ứng dụng java khung. Nó bao gồm các tệp tin jsp để xem và các servlet cho logic nghiệp vụ. Tôi phải thiết lập phiên người dùng là servlet với tham số firstName. Trong tệp jsp, tôi cần kiểm tra xem tham số firstName của tôi có giá trị hay không. Nếu tham số firstName được đặt, tôi cần hiển thị một số html trong tệp jsp. Nếu nó không được thiết lập, tôi cần hiển thị html khác nhau trong tệp jsp.Kiểm tra giá trị thuộc tính phiên servlet trong tệp jsp
Servlet.java:
HttpSession session = request.getSession();
session.setAttribute("firstName", customer.getFristName());
String url = "/index.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
dispatcher.forward(request, response);
header.jsp:
// Between the <p> tags bellow I need to put some HTML with the following rules
// If firstName exist: Hello ${firstName} <a href="logout.jsp">Log out</a>
// Else: <a href="login.jsp">Login</a> or <a href="register.jsp">Register</a>
<p class="credentials" id="cr"></p>
Điều gì sẽ là cách tốt nhất để làm điều này?
Cập nhật:
Đây là một hướng dẫn tuyệt vời, tôi tìm thấy trên JSTL, trong trường hợp bất cứ ai cần nó: http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm
Cảm ơn bạn Ibrahim! Giải pháp này là sạch sẽ và đơn giản. Nó đã làm chính xác những gì tôi muốn nó làm. Tôi đã rối tung với jsp EL và nó đã nhận được thực sự lộn xộn. :) – Marta
Lộn xộn? Rõ ràng bạn đã làm điều gì đó sai trái. Với JSTL/EL nó đơn giản như '
một số nội dung
nội dung khác
'. Tôi không chắc nó lộn xộn thế nào. – BalusC@BalusC Tôi chắc chắn đã làm! Tôi đang tìm kiếm một cấu trúc if-else trong EL, và không thể làm cho nó hoạt động được, vì vậy tôi đã từ bỏ ý tưởng đó. Nhìn vào ví dụ của bạn, nó sẽ làm những gì tôi muốn. Tôi có lẽ sẽ sử dụng này thay vì đặt mã java trong JSP của tôi. Tôi đọc rằng thực hành tốt hơn là sử dụng EL/JSTL hơn java trong các JSP của bạn. Cảm ơn bạn đã giúp đỡ! – Marta