查询商品列表
JS
EasyUI的datagrid的格式化输出
默认情况下,会直接显示返回的数据,但是有些情况下不能直接显示,如:价格、日期、性别,需要指定formatter函数。
后台实现
Controller
/**
* 查询商品列表
*
* @param page
* @param rows
* @return
*/
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<EasyUIResult> queryItemList(
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "rows", defaultValue = "30") Integer rows) {
try {
return ResponseEntity.ok(this.itemService.queryItemList(page, rows));
} catch (Exception e) {
e.printStackTrace();
}
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
Service
public EasyUIResult queryItemList(Integer page, Integer rows) {
// 设置分页参数
PageHelper.startPage(page, rows);
Example example = new Example(Item.class);
// 安装创建时间排序
example.setOrderByClause("created DESC");
List<Item> items = this.itemMapper.selectByExample(example);
PageInfo<Item> pageInfo = new PageInfo<Item>(items);
return new EasyUIResult(pageInfo.getTotal(), pageInfo.getList());
}
EasyUIResult
package com.taotao.common.bean;
import java.util.List;
public class EasyUIResult {
private Long total;
private List<?> rows;
public EasyUIResult() {
}
public EasyUIResult(Long total, List<?> rows) {
this.total = total;
this.rows = rows;
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public List<?> getRows() {
return rows;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
}
测试
日志的书写
private static final Logger LOGGER = LoggerFactory.getLogger(ItemController.class);
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<Void> saveItem(Item item, @RequestParam("desc") String desc) {
try {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("新增商品, item = {}, desc = {}", item, desc);
}
if (StringUtils.isEmpty(item.getTitle())) { // TODO 未完成,待优化
// 参数有误, 400
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
}
// 保存商品
Boolean bool = this.itemService.saveItem(item, desc);
if (!bool) {
if (LOGGER.isInfoEnabled()) {
LOGGER.info("新增商品失败, item = {}", item);
}
// 保存失败
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
if (LOGGER.isInfoEnabled()) {
LOGGER.info("新增商品成功, itemId = {}", item.getId());
}
return ResponseEntity.status(HttpStatus.CREATED).build();
} catch (Exception e) {
LOGGER.error("新增商品出错! item = " + item, e);
}
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
总结:
1、 方法的入参处需要将参数打印出
2、 业务执行的状态发生变化时,需要打印
3、 异常处需要打印