JSP中根据不同的条件显示不一样的格式

时间:2022-05-07 08:26:25

在做项目中遇到这样的场景:

当查询到记录时,需要将记录的字段作为下拉列表,让用户选择使用,即显示的是下拉列表。

当没有查询到记录时,则让用户手工填写该值,即显示的是文本框。

前段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. 有查询记录显示

JSP中根据不同的条件显示不一样的格式

2.无查询记录显示:

JSP中根据不同的条件显示不一样的格式