[英]write value from Servlet to JSP
heloo我想从servlet到jsp文件中写一些东西。 我使用requestdispatcher做到了,但是结果没有出现
这是代码:
UserInfo.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = null;
Connection conn = null;
DBUtils dbUtils = null;
try{
out = response.getWriter();
String username = null;
String password = null;
//setting cookies for session
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if(cookie.getName().equals("username"))
username = cookie.getValue();
}
}
request.setAttribute("username", username);
request.getRequestDispatcher("userinfo.jsp").forward(request, response);
userinfo.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello ${username}</h1>
</body>
</html>
尝试在jsp中使用request.getAttribute("username")
并将其包含在<%%>标记中。
尝试这个..
ServletContext context= getServletContext();
RequestDispatcher rd= context.getRequestDispatcher("/userinfo.jsp");
rd.forward(request,response);
注意当我使用/userinfo.jsp ..使用它为jsp位置提供绝对路径时的区别。 如果没有前面的“ /”,它将被视为相对路径,并将userinfo.jsp附加到现有请求的相对路径。
或者,如果上述方法不起作用,请重写此行以使用绝对路径
request.getRequestDispatcher("/userinfo.jsp").forward(request, response);
在您的jsp中使用,无需迭代
${cookie.username.value}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.