通过浏览器将数据传递到JSP:Spring Boot

时间:2019-03-10 18:24:39

标签: java spring-boot jsp

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

我的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格式。谁能告诉我如何使用该会话对象?

谢谢!

1 个答案:

答案 0 :(得分:4)

要直接回答您的问题,您可以像下面这样从会话对象中调用变量:

<%@ 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:使用记录器代替System.out