项目场景:
- springboot中后台使用Model存取了实体类某个属性
- 前台用thymeleaf语法将这个属性作为默认值显示在下拉框中
问题描述:
- 我在后台用model存取了某个实体类后,但是前台无论怎样都显示不出来
- 后端代码
/**
* 查询单个员工页面后进行修改操作
*/
@GetMapping("selOneById")
public String selectOneEmpPage(Integer empId, Model model) {
Employee employee = employeeService.queryById(empId);
if (ObjectUtil.isNotNull(employee)) {
model.addAttribute("employee", employee);
return "myself_mess";
}
else {
model.addAttribute("msg", "查找数据为空");
return "find_emp";
}
- 前台代码
<div class="col-sm-9">
<select class="form-control" name="employeeStore"
style="height:35px;width:150px;">
<option th:selected="${employee.getEmployeeStore()}"></option>
<option>平院1号店</option>
<option>平院2号店</option>
<option>平院3号店</option>
<option>平院4号店</option>
</select>
</div>
</div>
- 效果显示
这里本该显示具体的门店值,但是却总是空,然后我便各种百度换各种写法,结果人家就是显示不出来,你说气不气
原因分析:
- 试了好多种写法还是显示空白时,虽然知道是自己的写法有误,但是几乎把网上的写法都试过了,还是不行,无奈下只好使用比较原始的写法:如下
解决方案:
- 更改前端代码为下所示
<!--
这样写是不显示的
<option th:selected="${employee.getEmployeeStore()}"></option>-->
<option selected>
<td th:text="${employee.getEmployeeStore()}"></td>
</option>
<option>平院1号店</option>
<option>平院2号店</option>
<option>平院3号店</option>
<option>平院4号店</option>
</select>
- 换成这样的写法后数据就出来了
希望能帮到遇到相关bug的猿友们