Java JSTL如何从请求输出数据
我有一个servlet,可以在请求中放入一些内容,但我不能用jstl调用它。我做错了什么Java JSTL如何从请求输出数据,java,jsp,jstl,Java,Jsp,Jstl,我有一个servlet,可以在请求中放入一些内容,但我不能用jstl调用它。我做错了什么 <%@ page import="beans.Patient"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib uri='http://java.sun.com/jstl/fmt' prefix='fmt' %> <jsp:useBean id="patBea
<%@ page import="beans.Patient"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri='http://java.sun.com/jstl/fmt' prefix='fmt' %>
<jsp:useBean id="patBean" class="beans.Patient" scope="session"/>
<c:set var="patientName" value="${patient.name}"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
test
<form action="PatientAction" method="post">
<input type="text" name="patientId" id="patientId"></input>
<input type="submit"/>
</form>
<c:out value="${patientName}" />
<c:out value="${patBean.name}" />
请求属性可以通过其输入的名称进行访问。如果您有request.setAttributefoo、fooValue,那么可以通过${foo}访问它。如果您在同一请求中,则这是正确的。这意味着servlet必须进行转发而不是重定向。如果发生重定向,这是一个新请求,旧值将丢失。请求属性可以通过输入的名称访问。如果您有request.setAttributefoo、fooValue,那么可以通过${foo}访问它。如果您在同一请求中,则这是正确的。这意味着servlet必须进行转发而不是重定向。如果发生重定向,这是一个新的请求,旧的值将丢失。在使用JSTL时,您无需担心,只需直接引用bean即可。因此,如果您的servlet将患者放入会话,您可以使用以下方法获取其名称:
<c:out value="${patient.name}" />
当您使用JSTL时,您不需要担心,只需直接引用bean即可。因此,如果您的servlet将患者放入会话,您可以使用以下方法获取其名称:
<c:out value="${patient.name}" />
它在网页中显示为文本,如下所示:${patient.name}@user521180:这意味着您的Web应用程序没有启用JSP EL。见,谢谢。成功了。事实证明我并没有在我的web.xml上使用2.4。您还有另一个问题:您的JSTL核心是按照JSTL 1.1/1.2声明的,但是您的JSTL fmt不符合它。将其对齐,以符合JSTL 1.1的要求。另请参见,它在网页中显示为文本,如:${patient.name}@user521180:这意味着您的Web应用程序没有启用JSP EL。见,谢谢。成功了。事实证明我并没有在我的web.xml上使用2.4。您还有另一个问题:您的JSTL核心是按照JSTL 1.1/1.2声明的,但是您的JSTL fmt不符合它。将其对齐,以符合JSTL 1.1的要求。另请参见,它只是以文本${patient.name}的形式出现。它只是以文本${patient.name}的形式出现