Springboot. ModelAndView addObject не заменяет тег - PullRequest
0 голосов
/ 21 октября 2019

Мой контроллер не заменяет теги.

Мой контроллер имеет два URL-адреса конечных точек "/" и "/ login"

@Controller
@RequestMapping(value={"/"})
public class Index {
    @GetMapping("/")
    public ModelAndView getLoginPageId() {
        return new ModelAndView("login");
    }

    @GetMapping("/index")
    public ModelAndView getLoginPageId(
            @RequestParam("login") String login,
            @RequestParam("password") String password
    ) {
        ModelAndView modelAndView = new ModelAndView("index");
        modelAndView.addObject("message", "123");

        return modelAndView;
    }
}

login. jsp

<html>
<head>

    <title>login</title>
</head>
<body>
<form name="newUser" action="/index" method="get">
    Login:<br>
    <input type="text" name="login"><br>
    Password:<br>
    <input type="text" name="password"><br>
    <br>
    <input type="submit" value="Login">
</form>
</body>
</html>

index.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8"/>
</head>
<body>
<h1>My message ${message}</h1>
</body>
</html>

Браузер Chrome дает ответ

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8"/>
    <title>My Message ${message}</title>
</head>
<body>
<h1>HOA v ${message}</h1>
</body>
</html>

$ {message} не заменяется. Я ожидаю, что $ {message} следует заменить на 123. Что мне нужно изменить?

Project structure

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте добавить <%@ page isELIgnored="false" %>, это включит EL:

Посмотрите на:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>

   <%@ page isELIgnored="false" %>

    <meta charset="UTF-8"/>
    <title>My Message ${message}</title>
</head>
<body>
<h1>HOA v ${message}</h1>
</body>
</html>

В качестве альтернативы вы можете добавить <el-ignored>false</el-ignored> в web.xml.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <el-ignored>true</el-ignored>
  </jsp-property-group>
</web-app>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...