簡體   English   中英

如何傳遞選定的值<select>到java代碼

[英]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 件事:

  1. 需要綁定一個城市對象(你需要一個名為城市的模型)到表單元素:

<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() 方法等。

希望有幫助!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM