我正在尝试使用servlet构建Web应用程序,但是面对这个问题,我只是在servlet类中设置了数据,并使用$ {}将其感染到了jsp中。
JSP --->
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:out value="${data}"/>
<%= request.getAttribute("data") %>
</body>
</html>
Servlet类:
public class Naveen extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object data = "Some data, can be a String or a Javabean";
request.setAttribute( "data", data );
RequestDispatcher rd = request.getRequestDispatcher( "/new.jsp" );
rd.forward( request, response );
response.getWriter().append( "Served at:" ).append( request.getContextPath() );
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet( request, response );
}
}
答案 0 :(得分:0)
您需要在requestScope
中使用c:out
<c:out value="${requestScope.data}">
有关详细示例,请参阅:https://www.journaldev.com/2090/jstl-tutorial-jstl-tags-example
我认为您是直接致电/new.jsp
!
为了获得价值,您需要调用servlet URL。
这将解决您的问题,因为在servlet上,请求被分配为具有属性值/new.jsp
的{{1}}。
答案 1 :(得分:0)
在您的jsp文件中尝试以下操作:添加 isELIgnored = false
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false" %>
该属性默认情况下处于启用状态。您可以将其添加到每个jsp页面中,以成功进行EL(表达式语言)处理。