Ich versuche, c: wähle tag zusammen mit c: wenn jstl-Tag im folgenden Code, aber der Ausdruck wird nicht korrekt ausgewertet. Ich habe ein Servlet, das den Bean-Verkäufer im Sitzungsumfang richtig einstellt.Verwenden von jstl <c:when> Tag bewertet Ausdruck nicht korrekt
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html lang="en">
<c:choose>
<c:when test="${not empty sessionScope.seller}">
<c:out value="${seller.firstName}"/>
</c:when>
<c:otherwise>
<c:out value="none"/>
</c:otherwise>
</c:choose>
</html>
Der Code Servlet ist unten:
package com.senachat.presentation;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.senachat.domain.Seller;
public class SenachatServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
Seller seller = new Seller();
seller.setFirstName("John");
HttpSession session = req.getSession();
session.setAttribute("seller", seller);
RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/jsp/index.jsp");
dispatcher.forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
Wenn die index.jsp Seite geladen wird, wird der Wert "none" anstelle des Werts von vorName "John" gedruckt . Ich kann nicht identifizieren, was ich hier möglicherweise falsch mache?
deklariert Sie sagen "Wenn die index.jsp Seite geladen ist". Willst du sagen, dass du direkt zu index.jsp navigierst? Oder navigieren Sie zu Ihrem Servlet und werden dann an index.jsp weitergeleitet? – rickz
@rickz dachte das gleiche, aber es kann nicht sein, denn die JSP ist in der WEB-INF-Ordner –
Guter Punkt, Angelo. – rickz