Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将隐藏值从Mythymeleaf模板传递给控制器(Spring Boot)?_Java_Html_Spring Boot_Thymeleaf - Fatal编程技术网

Java 如何将隐藏值从Mythymeleaf模板传递给控制器(Spring Boot)?

Java 如何将隐藏值从Mythymeleaf模板传递给控制器(Spring Boot)?,java,html,spring-boot,thymeleaf,Java,Html,Spring Boot,Thymeleaf,我正在运行一个springboot项目,并试图使用post方法传递一个id或对象,但我一直为用户返回null。我想让用户可用,以便在创建摘要页面时(单独的表单点击post方法),我从中获得的用户可以添加到摘要对象 我也相信有一种方法可以通过锚链接传递id 这是我的html: <div > <span th:text="${user.firstName}"></span> Summary Page <

我正在运行一个springboot项目,并试图使用post方法传递一个id或对象,但我一直为用户返回null。我想让用户可用,以便在创建摘要页面时(单独的表单点击post方法),我从中获得的用户可以添加到摘要对象

我也相信有一种方法可以通过锚链接传递id

这是我的html:

        <div >
        <span th:text="${user.firstName}"></span> Summary Page
            <span th:text="${user.emailAddress}"></span>
            <form id="add" th:action="@{/addSummary}" method="post">
                <input id="userId" name="${user.userId}" type="hidden" value="${userId}"/>
          <!-- <input id="userId" name="${user}" type="hidden" value="${user}"/> -->
                <button type="submit" value="save">Add Summary</button>
            </form>
        </div>
<!-- another way to pass id? -->
<!--<a href="createSummary.html?user.id">AddSummary</a>-->
任何帮助或建议都将不胜感激!
-谢谢

首先,您的代码的核心问题是您试图在非Thymeleaf属性中使用Thymeleaf表达式,它将无法按预期工作。Thymeleaf将只查看以
th:
开头的属性(如果使用HTML5语法,则查看
data th-

对于您的情况,我将使用
th:object
th:field


添加摘要

参考:。

首先,您的代码的核心问题是,您试图在非Thymeleaf属性中使用Thymeleaf表达式,它将无法按预期工作。Thymeleaf将只查看以
th:
开头的属性(如果使用HTML5语法,则查看
data th-

对于您的情况,我将使用
th:object
th:field


添加摘要

参考:。

锚定将导致HTTP Get请求,相应的控制器方法将需要使用@RequestParam来指定用户id。如果这是您所要求的?…并且您的
value=“${userId}”
不应该是
value=“${user.userId}”
-使用thymeleaf不太好,在这种情况下,它是传递给控制器的id,而不是用户。@TonyKennah谢谢,我也试过了,但没有得到任何回报。对于在链接中传递id,我想知道是否可以做一些类似于传递来自页面上已有对象(用户)的id的事情并将其发送到控制器。锚定将导致HTTP Get请求,相应的控制器方法将需要使用@RequestParam来指定用户id。如果这是您所要求的?…并且您的
value=“${userId}”
不应该是
value=“${user.userId}”
-使用thymeleaf不太好,在这种情况下,它是传递给控制器的id,而不是用户。@TonyKennah谢谢,我也试过了,但没有得到任何回报。对于在链接中传递id,我想知道我是否可以做一些事情,比如传递来自页面上已经存在的对象(用户)的id并将其发送给控制器。
    @RequestMapping(value ="/addSummary", method = RequestMethod.POST)
public ModelAndView addSummary(User user) {

    try{
        ModelAndView model = new ModelAndView("views/createSummary");
        System.out.println("======POST Summary Method hit=====");
    //    model.addObject("summary", new Summary());
        User nUser = userService.findById(user.getUserId());
        model.addObject("user", nUser);
        System.out.println("user: " + nUser.getUserId());
        return model;
    }catch(Exception ex){
        System.out.println(ex.toString());
        throw ex;
    }
}