首页 > 解决方案 > 通过浏览器向 JSP 传递数据:Spring boot

问题描述

我只是通过HomeController.java更改 URL 将数据从浏览器传递到网址

HomeController.java的如下,

    package com.example.demo;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;


    @Controller
    public class HomeController {

        @RequestMapping("home")
        public String home(HttpServletRequest req) {
            HttpSession session=req.getSession();
            String name=req.getParameter("name");
            //Fetch data comming from client
            System.out.println("hi "+name);
            session.setAttribute(name, name);
            return "home";
        }
     }

我正在使用session对象传递会话属性,但我应该如何在我的 JSP 文件(home.jsp)中获取它。

我的home.jsp样子:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    Welcome ${name}
</body>
</html>

我想在home.jsp文件中编写java代码并使用会话对象而不是expression language格式。谁能告诉如何使用该会话对象?

提前致谢!

标签: javaspring-bootjsp

解决方案


要直接回答您的问题,您可以从会话对象中调用您的变量,如下所示:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    Welcome <%=session.getAttribute("name")%>
</body>
</html>

name存储在会话中的对象的名称在哪里。

PS:使用 Logger 而不是 System.out


推荐阅读