场景
在进行新增和编辑共用一个页面时,选择新增则页面没有refundOrder传值,
选择编辑择有。
使用thymeleaf进行select的下拉选中的回显时提示:
错误代码如下:
<select class="form-control" name="businessInitiator" >
<option id="qingjieInitiator" th:selected="${refundOrder.businessInitiator eq '清洁车间'}" value="清洁车间" ><span th:text="清洁车间"></span></option>
<option id="zhengjiInitiator" th:selected="${refundOrder.businessInitiator eq '正极车间'}" value="正极车间" ><span th:text="正极车间"></span></option>
<option id="fujiInitiator" th:selected="${refundOrder.businessInitiator eq '负极车间'}" value="负极车间"><span th:text="负极车间"></span></option>
<option id="xuanzeInitiator"th:selected="${refundOrder==null||refundOrder.businessInitiator==null}" value="选择退货发起方"><span th:text="选择退货发起方"></span></option>
</select>
实现
虽然提示是模板有问题,但是不是语法问题而是逻辑问题。
在新增页面上refundOrder为空但是直接使用了其属性作为条件判断,没有做非空判断处理。
正确代码:
<select class="form-control" name="businessInitiator" >
<option id="yuanliaoInitiator" th:selected="${refundOrder != null && refundOrder.businessInitiator != null && refundOrder.businessInitiator == '原料立库'}" value="原料立库"><span th:text="原料立库"></span></option>
<option id="qingjieInitiator" th:selected="${refundOrder != null && refundOrder.businessInitiator != null && refundOrder.businessInitiator == '清洁车间'}" value="清洁车间"><span th:text="清洁车间"></span></option>
<option id="zhengjiInitiator" th:selected="${refundOrder != null && refundOrder.businessInitiator != null && refundOrder.businessInitiator == '正极车间'}" value="正极车间"><span th:text="正极车间"></span></option>
<option id="fujiInitiator" th:selected="${refundOrder != null && refundOrder.businessInitiator != null && refundOrder.businessInitiator == '负极车间'}" value="负极车间"><span th:text="负极车间"></span></option>
<option id="xuanzeInitiator" th:selected="${refundOrder==null||refundOrder.businessInitiator==null}" value="选择退货发起方"><span th:text="选择退货发起方"></span></option>
</select>