怎么根据数据判断按钮的隐藏和显示?传统的做法是用使用模板引擎,el表达式。
项目中使用layui,layui中提供了一个模板引擎的laytpl,参考官方文档
https://www.layui.com/doc/modules/laytpl.html
要实现的功能是 商品已经下架的不显示 下架按钮
后台Controller方法
@RequestMapping(value = "/list")
@RequiresPermissions("product:list")
public Object list(@RequestParam(defaultValue = "") Map<String, String> map)
{
LayuiTable<CbProductDto> layui = new LayuiTable<>();
try
{
int page = Integer.parseInt(map.get("page"));
int limit = Integer.parseInt(map.get("limit"));
PageRequest pageRequest = PageRequest.of(page - 1, limit, Direction.DESC, "updateTime");
// 检查参数
String name = map.get("name");
String code = map.get("code");
String status = map.get("status");
String cate = map.get("cate");
String type = map.get("type");
String vopType = map.get("vopType");
CbProduct cbProduct = new CbProduct();
cbProduct.setProductCode(code);
cbProduct.setProductName(name);
cbProduct.setStatus(status == null || status.equals("") ? null : Integer.parseInt(status));
cbProduct.setProductType(type == null || type.equals("") ? null : Integer.parseInt(type));
cbProduct.setVopProductType(vopType == null || vopType.equals("") ? null : Integer.parseInt(vopType));
CbProductCategory cpc = new CbProductCategory();
cpc.setProductCategoryId(cate == null || cate.equals("") ? null : Long.parseLong(cate));
cbProduct.setCbProductCategory(cpc);
Page<CbProduct> cbProductList = cbProductQuery.listCbProduct(pageRequest, cbProduct);
List<CbProductDto> dtoList = new ArrayList<>();
// 组装返回值
for (CbProduct cp : cbProductList)
{
CbProductDto dto = new CbProductDto();
BeanUtils.copyProperties(cp, dto);
dto.setCbProductCategoryName(cp.getCbProductCategory().getProductLineName());
dto.setProductTypeName(CbProductTypeEnum.getName(cp.getProductTy