zTree -- jQuery 树插件 和 日志管理工具Log4j

zTree 简介

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

一个简单的ztree

java中使用zTree

  1. 将需要使用的 zTree v3.x 相关的 js、css文件分别放置到相应目录,并且保证相对路径正确.

  2. 先将Demo演示的框架源代码在自己的项目中演示出来

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'index.jsp' starting page
    
    
        
    
    
    
    
    
    
    
    
    
    
  
  
  
        
        

3.将ztree代码加入自己的项目中,进行测试

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>







    
        
        

        二级分类维护

        
        

        
        
        
        
        
        
        
        
    
    
    
    
        

    

    
        
        

4.在项目中使用Controll控制Service查询数据拼接ztree要使用的字符串

package com.senchen.shop.svs.back.impl;

import java.util.List;

import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;

import com.senchen.shop.entity.Kind;
import com.senchen.shop.manager.kind.kindManager;
import com.senchen.shop.manager.kindsec.KindSecondManager;
import com.senchen.shop.svs.back.KindService;

@Service
public class KindServiceImpl implements KindService {
    
    Logger  log=Logger.getLogger(getClass());  //以当前类路径创建日志对
    
    @Resource
    kindManager kmng;
    
    @Resource
    KindSecondManager secMng;
    
    
    /**
     * 查询所有的分类,返回 需要的字符串格式
     * @return String
     *  [
            { id:1, pId:0, name:"父节点F1 - 展开",url:"<%=path%>/index.jsp", target:"twgdh"},
            { id:11, pId:1, name:"父节点11 - 折叠"},
            { id:111, pId:11, name:"叶子节点111"},
            { id:112, pId:11, name:"叶子节点112"},
            { id:113, pId:11, name:"叶子节点113"},
            { id:114, pId:11, name:"叶子节点114"},
        ]
     * @throws RuntimeException
     */
    @Override
    public String getAllTreeStr() throws RuntimeException {
        log.debug("日志1..查询 ");
        List klist = kmng.findAll();
        
        
        StringBuffer bf=new StringBuffer();
        bf.append("[");
        for (Kind k : klist) {
            bf.append("{");
            bf.append(" id:"+k.getKid()+",");
            bf.append(" pId:"+k.getUpid()+",");
            bf.append(" name:'"+k.getKindName()+"',");
            bf.append(" url:'list.do?id="+k.getKid()+"',");
            bf.append(" target:'twgdh'");
            bf.append("},");
        }
        bf.append("]");
        log.debug("日志2..封装成字符串 " + bf.toString());
        return bf.toString();
        
    }//getAllTreeStr()
    
    
    
    
}

5.在自己的ztree项目页面中使用字符串替换Demo中的字符串


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



    
        
        

        二级分类维护

        
        

        
        
        
        
        
        
        
        
    
    
    
    
    
        

    

    
        
        

Log4j日志管理工具

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

Log4j的配置

一.配置文件

Log4j默认的配置文件是log4j.properties,将该文件置于classpath下,容器启动时会初始化Log4j。Log4j把日志级别由低到高依次分为ALL、TRACE、DEBUG、INFO、WARN、ERROR、FITAL和OFF等。其中,级别高的会屏蔽低的信息。如果设置为WARN,则INFO、DEBUG都不会输出。

二.5个重要的概念

Log4j配置中有5个重要的概念:
日志记录器(Logger)Logger负责记录日志;

根记录器(rootLogger)rootLogger是所有记录器的父亲,任何记录器都可继承rooLogger的配置;

类别(category)category可以设置类别下所有的Logger,类似于java中的包,效果与Logger名字等价;

输出地(Appender)Appender负责输出到什么地方;

日志格式化器(Layout)Layout负责以什么格式输出、输出哪些附加信息(比如:时间、类名、方法名、所在行数等)。

在log4j.properties配置中,log4j.logger后面配置的是Logger,log4j.appender后面配置的是Appender,rootLogger直接用log4j.rootLogger配置。

三、1个log4j.properties配置实例
### Console ###
log4j.appender.AA=org.apache.log4j.ConsoleAppender
log4j.appender.AA.Target=System.out
log4j.appender.AA.layout=org.apache.log4j.PatternLayout
log4j.appender.AA.layout.ConversionPattern=%p [%C{1}:%L] %m%n

### File ###
log4j.appender.D=org.apache.log4j.FileAppender
log4j.appender.D.File=D://logs/log.log
log4j.appender.D.Append=true
log4j.appender.D.Threshold=DEBUG
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### root level ###
log4j.rootLogger=debug,AA

### spring level ###
log4j.logger.org.springframework=WARN

### your package level ###
log4j.logger.com.senchen=WARN
### your sub package level ###
log4j.logger.com.senchen.shop=debug

四.Java中使用Log4j

public class KindTreeController {
    Logger  log=Logger.getLogger(getClass());  //以当前类路径创建日志对
    
    public String list(Model md){
        log.debug("日志1...查询所有的分类,组成zTree字符串");//使用日志对象
        String s = ksvs.getAllTreeStr();
        md.addAttribute("zdata", s);
        log.debug("日志2...保存到request中,转发");
        return "/kind/kind_tree";
    }//tree
    
}

你可能感兴趣的:(zTree -- jQuery 树插件 和 日志管理工具Log4j)