作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
选择选项时如何在java代码中传递值?
<select>
<option th:each="city:${cities}"
th:value="${city.value}"
th:utext="${city.name}"/>
</select>
最佳答案
在你的 thymeleaf 模板中,你基本需要做 3 件事:
<form th:action="@{/cities}" method="POST" th:object="${city}">
model.addAttribute("city", new City());
<select th:field="*{name}">
在您的 POST Controller 中,您需要将城市对象添加为参数/参数,并调用将对象保存到数据库中的服务:
@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() 方法等。
希望有帮助!!
关于java - 如何将选定的值从 <select> 传递到 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58679700/
我是一名优秀的程序员,十分优秀!