[英]how to pass the selected value from <select> to java code
選擇選項時如何在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 控制器中,您需要將您的城市對象添加為參數/參數並調用將您的對象保存到數據庫中的服務:
@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() 方法等。
希望有幫助!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.