在做项目中遇到这样的场景:
当查询到记录时,需要将记录的字段作为下拉列表,让用户选择使用,即显示的是下拉列表。
当没有查询到记录时,则让用户手工填写该值,即显示的是文本框。
前段jsp使用if标签如下:
<c:if test="${requestScope.listSize==0}"> <td>
<input type="text" name="erpPtCode" value="${productConfig.erpPtCode}" style="width:180px;" required="required" /> </td> </c:if> <c:if test="${requestScope.listSize>0}"> <td> <select class="easyui-validatebox" name="erpPtCode" required="required"> <option value="">-请选择-</option> <c:forEach var="op" items="${productConfigList}"> <option value="${op.id}" ${productConfig.erpPtCode == op.erpPtCode ?'selected':''}>${op.erpPtCode}</option> </c:forEach> </select> </td> </c:if>
后台java程序传递参数如下:
int listSize = 0; String hql = " from TProductConfig where " + " shopAccessTokensID = '" + tokenId + "'" + " and ecItem = '" + ecItem + "'"; List<TProductConfig> productConfigList = productConfigService.find(hql); listSize = productConfigList.size(); model.addAttribute("productConfigList", productConfigList); model.addAttribute("listSize", listSize);
最终显示结果如下:
1. 有查询记录显示
2.无查询记录显示: