查询是我们日常生活中最常见的功能,有的查询很复杂,有的查询很简单,而我要说的查询说它复杂也不复杂,说它简单也不是很简单。下面我先给出我的UI界面和业务需求。
需求是需要根据树形的某个节点查询对应类型商品信息(注意:如果这个节点下存在子节点,那么需要把这个节点下所有子节点对应的商品类型的商品信息查询出来),或者在它的基础上在筛选出不同状态的商品信息,还可以在两者的基础上通过某一个查询项目的具体信息使用模糊查询匹配出对应商品信息。
通过上面的需求和UI界面可以分析我们需要的参数有:树形节点、商品状态、查询项目类型、查询项目内容。总共四个参数,只有第一个树形节点参数需要特别处理一下,其他都是直接获取即可。
jsp代码:定义一个全局参数用来接收节点数据,使用findAllNodes(x)方法递归获取所有子节点。还有就是查询项目类型中有两个类型在数据库中我设计的是布尔类型,所以在这里用三目表达式处理了一下。
//条件查询渲染数据方法
function tbCommoditySearch() {
var nodeObj = (($.fn.zTree.getZTreeObj("sxt")).getSelectedNodes())[0];
if (nodeObj != "" && nodeObj != null && nodeObj != undefined) {
nodeId = "";
nodeId += nodeObj.id;
nodeId = findAllNodes(nodeObj);
} else {
var nodeTop = (($.fn.zTree.getZTreeObj("sxt")).getNodes())[0];
nodeId = "";
nodeId += nodeTop.id;
nodeId = findAllNodes(nodeTop);
}
var contentType = $("#contentType").val();
var content = $("#content").val();</