📅  最后修改于: 2023-12-03 15:20:13.303000             🧑  作者: Mango
在Web开发中,下拉菜单是一个很常见的组件。Spring MVC提供了很多简便的方式来创建下拉菜单。在本文中,我们将演示如何在Spring MVC应用程序中创建下拉菜单。
首先,我们需要创建一个基于Spring MVC的Web应用程序,如果您已经有一个,您可以跳过此步骤。
我们需要创建一个数据模型来填充下拉列表。这个数据模型可以是一个List、Map、Set等等。这里我们演示以List为例子。
public class SampleData {
private List<String> fruits;
public SampleData() {
fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
fruits.add("Date");
fruits.add("Elderberry");
}
public List<String> getFruits() {
return fruits;
}
public void setFruits(List<String> fruits) {
this.fruits = fruits;
}
}
我们需要创建一个Controller来返回数据模型和渲染下拉列表。
@Controller
@RequestMapping("/")
public class SampleController {
@GetMapping("")
public ModelAndView index() {
ModelAndView mav = new ModelAndView("index");
SampleData sampleData = new SampleData();
mav.addObject("sampleData", sampleData);
mav.addObject("selected", "Apple");
return mav;
}
}
在此例中,@Controller
标注在类上,@RequestMapping
用于指定请求的路径。 @GetMapping("")
方法将被处理用于GET请求。
我们需要添加一个HTML页面来渲染下拉列表。
<!DOCTYPE html>
<html>
<head>
<title>Spring MVC - Dropdown example</title>
</head>
<body>
<form method="post" action="#">
<select name="fruit">
<c:forEach items="${sampleData.fruits}" var="fruit">
<option value="${fruit}" ${selected==fruit ? 'selected' : ''}>${fruit}</option>
</c:forEach>
</select>
<input type="submit" value="Submit">
</form>
</body>
</html>
在此例中,我们使用了JSTL标签库来循环生成option标签。 ${sampleData.fruits}
表示我们从Controller中传递的数据。${selected}
表示哪个选项是默认选中的。
现在我们已经准备好了所有代码,运行您的应用程序并在浏览器中打开您的应用程序的URL。应用程序应该显示一个下拉列表。在下拉列表中选择一个选项并提交表单。
在本文中,我们学习了如何使用Spring MVC在Web应用程序中创建下拉列表。我们创建了一个数据模型、一个Controller和一个HTML页面。在Controller中构建了数据模型,并将其传递给HTML页面,同时使用JSTL标签循环渲染下拉列表。