【问题标题】:Null value from a drop-down list in SpringSpring中下拉列表中的空值
【发布时间】:2019-03-26 12:56:10
【问题描述】:

我有一个包含项目列表的下拉菜单。我的问题是我想收到我选择的值,但我收到的是 null。

<form action="#" th:action="@{/cidashboard/table}" th:object="${projectVariantSelected}" method="post">
 <p>Project variants options:</p>
 <select class="form-control"  th:field="*{projectVariantId}" >
      <option  th:each = "projectVariant : ${projectsVariants}"
               th:value="${projectVariant.projectVariantId}"
               th:text="${projectVariant.projectVariantName}" >
      </option>
 </select>

<input type="submit" value="Submit" />
</form>

我创建了一个 GET 请求:

public final Map< String, Object > modelAtribute = new HashMap< String, Object >();

    @GetMapping("cidashboard/filter/data")
    public String allDataForFilter(Model model, ModelAndView modelAndView) {
        model.addAttribute("projectsVariants", projectVariantService.findAllProjectsVariants());

       addAttributes(modelAtribute);

       return "test2";
    }

    @ModelAttribute
    public void addAttributes(Map<String, Object> model) {
        model.put("projectVariantSelected", new ProjectVariant());
    }

我的 POST 请求看起来像这样:

@PostMapping("cidashboard/table")
    public String createTable(@ModelAttribute("projectVariantSelected") ProjectVariant projectVariantSelected) {

        System.out.println("Project Variant selected: " + projectVariantSelected.getProjectVariantName() + " " + projectVariantSelected.getProjectVariantId());

        return "test1";
    }

当我尝试打印收到的输出时:

Project Variant selected: null 0

【问题讨论】:

  • 您的“projectVariantSelected-Hack”是不必要的。只需将 ID 发送到 createTable 方法即可。无需绑定。
  • 我删除了 th:object 并写道:
  • 试试
  • 非常感谢!它有效:)

标签: spring spring-mvc spring-boot thymeleaf


【解决方案1】:

请使用以下代码。在选择标签中使用 idnameprojectVariantId

<select class="form-control" id="projectVariantId" name="projectVariantId"" > 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 2017-03-28
    • 2013-08-23
    • 1970-01-01
    • 2012-06-29
    相关资源
    最近更新 更多