为了账号安全,请及时绑定邮箱和手机立即绑定

如何将选定的值从 <select> 传递到 java 代码

如何将选定的值从 <select> 传递到 java 代码

倚天杖 2024-01-28 17:30:05
选择选项时如何在java代码中传递值?<select>        <option th:each="city:${cities}"                th:value="${city.value}"                th:utext="${city.name}"/></select>
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

在你的 thymeleaf 模板中,你基本需要做三件事:

  1. 需要将城市对象(您需要一个名为 city 的模型)绑定到表单元素:

<form th:action="@{/cities}" method="POST" th:object="${city}">

  1. 将模型添加到处理表单视图的控制器(获取控制器):

model.addAttribute("city", new City());

  1. 将 th:field 添加到与模型属性字段名称匹配的 html 标记中:

<select th:field="*{name}">

在 POST 控制器中,您需要将城市对象添加为参数/参数,并调用将对象保存到数据库中的服务:

@RestController

public class CityController {


@Autowired 

CityService cityService;


@RequestMapping(value = "/cities", method = RequestMethod.POST) 

public String addCity(City city) { cityService.save(city); }


}

请注意,“/cities”值必须与表单操作“@{/cities}”匹配。


然后在您的服务类中,您将拥有 save 方法和 cityRepository:


@Service 

public class CityService {


@Autowired 

CityRepository cityRepository;


public City save(City city) {   cityRepository.save(city); }


}

最后,您需要一个从 CrudRepository 或 JpaRepository 扩展的存储库类:


@Repository 

public interface CityRepository extends CrudRepository<City, Long> { 


}

通过从 CrudRepository 扩展,您将可以访问 save()、findAll()、findById() 方法等。


希望有帮助!


查看完整回答
反对 回复 2024-01-28
  • 1 回答
  • 0 关注
  • 43 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信