Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSTL如何从请求输出数据_Java_Jsp_Jstl - Fatal编程技术网

Java 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

我有一个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="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}的形式出现