繁体   English   中英

将值从Servlet写入JSP

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM