liuxiaolong
2019-05-09 0d1d88cdb668e75ea8609417ac18ae19947e9525
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package framework.mybatis.pageAction;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
 
/**
 * 分页查询标签 &lt;f:pageSearch jqStr="jquery函数$("")括号中的字符串" func="search页面中的查询js函数" /><br/>
 * func是页面中的查询函数,分页控件会给其一个 page 参数,形如 "__cpp__=10&__cup__=2"
 * <br/>然后js函数加在url后面进行查询
 * 
 * @author liuyajun, 8384503@qq.com
 * @date 2016年1月19日
 * @time 下午4:14:54
 */
public final class PageSearchTag extends TagSupport {
    private String jqStr;
    private String func;
    private String step;
    
 
    public int doStartTag() throws JspException {
        try{
            HttpServletRequest req = (HttpServletRequest)pageContext.getRequest();
            PageInfo page = (PageInfo)req.getAttribute(PageInfo.REQUEST_ATTRIBUTE_PAGE_INFO);
            if(page==null){
                return EVAL_PAGE;
            }
            
            StringBuffer s = new StringBuffer();
            if(step==null){
                step = "3";
            }
            
            s.append("<script>\n")
            .append("$('").append(jqStr).append("').makePageBar({\n")
            .append("totalCount:").append(page.getTotalCount()).append(",\n")
            .append("totalPage:").append(page.getTotalPage()).append(",\n")
            .append("countPerPage:").append(page.getCountPerPage()).append(",\n")
            .append("currentPage:").append(page.getPage()).append(",\n")
            .append("step:").append(step).append(",\n")
            .append("cppParam:'").append(PageUtil.PARAM_COUNT_PER_PAGE).append("',\n")
            .append("cupParam:'").append(PageUtil.PARAM_CURRENT_PAGE).append("',\n")
            .append("go:").append(func).append("\n});\n")
            .append("</script>\n");
            
            pageContext.getOut().println(s.toString());
        }catch(Throwable e){
            e.printStackTrace();
        }
        return EVAL_PAGE;
    }
 
 
    public String getJqStr() {
        return jqStr;
    }
 
 
    public void setJqStr(String jqStr) {
        this.jqStr = jqStr;
    }
 
 
    public String getFunc() {
        return func;
    }
 
 
    public void setFunc(String func) {
        this.func = func;
    }
 
 
    public String getStep() {
        return step;
    }
 
 
    public void setStep(String step) {
        this.step = step;
    }
 
}