目录
1.1 展示商品分类列表,使用EasyUI的tree控件展示展示商品分类列表,使用EasyUI的tree控件展示
2.3.1 common中实现相应页面的pojo类,启动是需要先 run as install。
1、使用技术
1.1 展示商品分类列表,使用EasyUI的tree控件展示展示商品分类列表,使用EasyUI的tree控件展示
1.2 异步树控件
树控件内建异步加载模式的支持,用户先穿件一个空树,然后指定一个服务器端,执行检索后动态返回JSON数据来填充树并完成异步请求
初始化tree请求的url:/item/cat/list
参数:
初始化tree时只需要把第一级节点展示,子节点异步加载。
long id(父节点id)
返回值:json。数据格式
[{
"id": 1,
"text": "Node 1",
"state": "closed"
},{
"id": 2,
"text": "Node 2",
"state": "closed"
}]
state:如果节点下有子节点“closed”,如果没有子节点“open”
2、商品类目选择
2.1 实现效果
2.2 功能分析
前端申请
2.2.1 选择类目绑定的class
2.2.2 事件的内容(弹出框的设置)
2.3 代码实现
2.3.1 common中实现相应页面的pojo类,启动是需要先 run as install。
/**
* 商品类名选择pojo
* id :text:state
* @author Administrator
*
*/
public class EasyUITreeNode implements Serializable {
// 商品类型的id
private Long id;
// 商品类型的名称
private String text ;
// 是否有子节点 有:closed 无:open
private String state;
// get set 方法 因为有TbItemCat pojo类所以可以不用实现mapper
}
2.3.2 service 实现层
参数:long parentId
业务逻辑:
- 根据parentId查询节点列表
- 转换成EasyUITreeNode列表。
- 返回。
返回值:List<EasyUITreeNode>
/**
* 商品类目选择
* @author Administrator
*
*/
@Service
public class ItemCategoryServiceImp implements ItemCategoryService {
@Autowired
private TbItemCatMapper tbItemCatMapper;
@Override
public List<EasyUITreeNode> getCategore(long parentId) {
// 1、创建查询对象
TbItemCatExample catExample = new TbItemCatExample();
// 2、根据条件进行查询对象
Criteria criteria = catExample.createCriteria();
// 3、添加条件
criteria.andParentIdEqualTo(parentId);
// 4、获取查询的结果集
List<TbItemCat> list = tbItemCatMapper.selectByExample(catExample);
List<EasyUITreeNode> node = new ArrayList<EasyUITreeNode>();
// 5、遍历结果集,将结果封装到EasyUITreeNode
for (TbItemCat tbItemCat : list) {
EasyUITreeNode easyUITreeNode = new EasyUITreeNode();
easyUITreeNode.setId(tbItemCat.getId());
easyUITreeNode.setText(tbItemCat.getName());
easyUITreeNode.setState(tbItemCat.getIsParent()?"closed":"open");
node.add(easyUITreeNode);
}
return node;
}
}
2.3.3 发布服务
<!-- 使用dubbo发布服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="taotao-manager" />
<dubbo:registry protocol="zookeeper" address="192.168.25.129:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 本质是:service扫描包会扫描接口的包
,扫描接口包之后就能扫描到serviceImp子包,因此就可以找到实现类
同时 serviceImp注解驱动也会有bean id的形式(只是没显示出来)id就是默认的类名首字母小写itemsServiceImp -->
<dubbo:service interface="com.taotao.service.ItemsService" ref="itemsServiceImp" timeout="3000" />
<!-- 商品類目的選擇 -->
<dubbo:service interface="com.taotao.service.ItemCategoryService" ref="itemCategoryServiceImp" timeout="3000" />
2.3.4 引用服务
<!-- 引用dubbo服务 -->
<dubbo:application name="taotao-manager-web"/>
<dubbo:registry protocol="zookeeper" address="192.168.25.129:2181"/>
<dubbo:reference interface="com.taotao.service.ItemsService" id="itemsService" />
<dubbo:reference interface="com.taotao.service.ItemCategoryService" id="itemCategoryService" />
2.3.5 表现层
初始化tree请求的url:/item/cat/list
参数:long id(父节点id)
返回值:json。数据格式 List<EasyUITreeNode>
@Controller
public class ItemCatController {
@Autowired
private ItemCategoryService itemCategoryService;
@RequestMapping("/item/cat/list")
@ResponseBody
public List<EasyUITreeNode> getCatItem(@RequestParam(name="id",defaultValue="0") Long parentId){
List<EasyUITreeNode> list = itemCategoryService.getCategore(parentId);
return list;
}