gpt4 book ai didi

java - 如何获取表单:select in a Spring MVC的选定项目id和值

转载 作者:行者123 更新时间:2023-12-02 06:04:16 24 4
gpt4 key购买 nike

我是 Spring 新手,我想获取下拉列表中所选项目的 idvalue。这是一个简单的例子

class MaritalStatus{
private int id;
private String status;
}

class regForm{
private MaritalStatus maritalStatus;
...
}

//填充列表的简单 Controller

@RequestMapping(value = "/save")
public String init(Model model){
List<MaritalStatus> maritalList = new ArrayList<MaritalStatus>();
maritalStatus.setId(1)
maritalStatus.setStatus("Married")
maritalList.add(maritalStatus);// add all status to the list....

model.addAttribute("maritalList",maritalList);
...
}

jsp页面

<form:form commandName="regForm" action="save">
<form:select path="maritalStatus.id">
<form:options items="${maritalList}" itemValue="id" itemLabel="status" />
</form:select>
</form:form>

这是我想要获取所选项目 ID 和值(1 和已婚)的地方

@RequestMapping(value = "/save")
public String save(Model model,@ModelAttribute("regForm") RegForm regForm){
// here I want to get selected item Id and Status(Label)
//regFrom.getMaritalStatus().getId() and regFrom.getMaritalStatus().getStatus()
}

最佳答案

您至少可以通过两种方式实现这一目标:

  1. 仅发送所选 MaritalStatus 的 id(实际上是在 jsp 中执行的),将其直接绑定(bind)到 regForm.maritalStatusId,然后(当您需要时)通过所选 id 从 maritalList 获取 MaritalStatus(你必须保留 maritalList 或在某个地方创建它,无论如何你都会这样做)

  2. 将您的选择直接绑定(bind)到 regForm.maritalStatus <form:select path="maritalStatus">并编写一个专门的格式化程序,可以将 id 转换为 MaritalStatus 对象,反之亦然。您可以在此处找到如何执行此操作的更多信息:http://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/html/validation.html#format

[您还可以发送所选字段的 id 以及隐藏字段中的值,然后尝试在服务器端从这些内容构建 MaritalStatus,但这并不优雅。]

关于java - 如何获取表单:select in a Spring MVC的选定项目id和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22421628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com