求教后台 tag标签怎么写,能给一个例子最好。求大神

解决方案 »

  1.   

    这个?
    public class PageTag extends TagSupport{
    private static final long serialVersionUID = 1L;
    private static final Log logger = LogFactory.getLog(PageTag.class);
    private String form;
    private String action;
    private String buttonclass;
    private String pagesize;
    @Override
    public int doEndTag() throws JspException {
    if(form == null)
    form = "list";
    if(buttonclass == null)
    buttonclass = "normalbtu";
    if(pagesize == null)
    pagesize = "10,20,50,100";

    String[] pagesizes = pagesize .split(",");
    PageInfo pageInfo = (PageInfo) pageContext.getRequest().getAttribute("pageInfo");
    StringBuilder sb = new StringBuilder(5000);
    sb.append("<div style=\"text-align:left;padding:3px 3px 0 10px;color:#276282;\">\r\n")
    .append("<input onclick=\"javascript:page_first();\" type=\"button\" class=\"").append(buttonclass).append("\" value=\"首页\" />&nbsp;\r\n")
    .append("<input onclick=\"javascript:page_pre();\" type=\"button\" class=\"").append(buttonclass).append("\" value=\"上一页\" />&nbsp;\r\n")
    .append("<input onclick=\"javascript:page_next();\" type=\"button\" class=\"").append(buttonclass).append("\" value=\"下一页\" />&nbsp;\r\n")
    .append("<input onclick=\"javascript:page_last();\" type=\"button\" class=\"").append(buttonclass).append("\" value=\"尾页\" />&nbsp;&nbsp;&nbsp;\r\n")
    .append("【共").append(pageInfo.getSize()).append("条&nbsp;\r\n")
    .append("第").append(pageInfo.getPageNo()).append("页")
    .append("&#47; 共").append(pageInfo.getPageCount()).append("页】 \r\n");

    sb.append(" 每页<select id=\"pageInfo.pageSize\" name=\"pageInfo.pageSize\" />\r\n");
    for(String s:pagesizes){
    try{
    if(Integer.parseInt(s)<1)continue;
    }catch (NumberFormatException e) {
    continue;
    }
    sb.append("<option value=\"").append(s).append("\">").append(s).append("</option>\r\n");
    }
    sb.append("</select> 条&nbsp;\r\n");

    sb.append("跳转到<input type=\"text\" id=\"pageInfo.pageNo\" name=\"pageInfo.pageNo\" value=\"")
    .append(pageInfo.getPageNo()).append("\" maxlength=\"5\" size=\"2\" onkeyup=\"value=value.replace(/[^\\d]/g,\'\')\" />页")
    .append("&nbsp;<input type=\"button\" class=\"").append(buttonclass).append("\" onclick=\"javascript:page_go();\" value=\"GO\" \">\r\n")
    .append("<input type=\"hidden\" id=\"pageInfo.size\" name=\"pageInfo.size\"  value=\"").append(pageInfo.getSize()).append("\" />\r\n")
    .append("<input type=\"hidden\" id=\"pageInfo.pageCount\" name=\"pageInfo.pageCount\"  value=\"").append(pageInfo.getPageCount()).append("\" />\r\n");

    sb.append("<script>\r\n")
    .append("var pageCount = ").append(pageInfo.getPageCount()).append(";\r\n")
    .append("var size = ").append(pageInfo.getSize()).append(";\r\n")
    .append("document.getElementById(\"pageInfo.pageSize\").value = ").append(pageInfo.getPageSize()).append(";\r\n")
    .append("</script>\r\n")
    .append("</div>\r\n");

    sb.append("<script>\r\n");
    sb.append(" function checkPageSize(obj){\r\n")
    .append(" var reg = /^\\d+$/;\r\n ")
    .append(" if(reg.test(obj.value) == false){\r\n")
    .append("      alert(\"请输入正确的数字!\");\r\nobj.focus();\r\n")
    .append(" }\r\n")
    .append("}\r\n");
    sb.append("function page_validate()\r\n")
    .append("{\r\n")
    .append(" var pageSize = document.getElementById(\"pageInfo.pageSize\").value;\r\n")
    .append(" pageCount = size/pageSize>parseInt(size/pageSize)?parseInt(size/pageSize)+1:parseInt(size/pageSize);\r\n")
    .append(" var pageNo = document.getElementById(\"pageInfo.pageNo\").value;\r\n")
    .append(" if (pageNo<1)pageNo=1;\r\n")
    .append(" if (pageNo>pageCount)pageNo=pageCount;\r\n")
    .append(" document.getElementById(\"pageInfo.pageNo\").value = pageNo;\r\n")
    .append("}\r\n");
    sb.append("function page_go()\r\n")
    .append("{\r\n")
    .append(" page_validate(); \r\n")
    .append(" document.").append(form).append(".action=\"").append(action).append("\";\r\n")
    .append(" document.").append(form).append(".submit(); \r\n")
    .append("}\r\n");

    sb.append("function page_first()\r\n")
    .append("{\r\n")
    .append(" document.getElementById(\"pageInfo.pageNo\").value = 1;\r\n")
    .append(" document.").append(form).append(".action=\"").append(action).append("\";\r\n")
    .append(" document.").append(form).append(".submit();\r\n")
    .append("}\r\n");

    sb.append("function page_pre()\r\n")
    .append("{\r\n")
    .append(" var pageNo = document.list.elements[\"pageInfo.pageNo\"].value;\r\n")
    .append(" document.getElementById(\"pageInfo.pageNo\").value = parseInt(pageNo) - 1;\r\n")
    .append(" document.").append(form).append(".action=\"").append(action).append("\";\r\n")
    .append(" page_validate();\r\n")
    .append(" document.").append(form).append(".submit();\r\n")
    .append("}\r\n");

    sb.append("function page_next()\r\n")
    .append("{\r\n")
    .append(" var pageNo = document.list.elements[\"pageInfo.pageNo\"].value;\r\n")
    .append(" document.getElementById(\"pageInfo.pageNo\").value = parseInt(pageNo) + 1;\r\n")
    .append(" document.").append(form).append(".action=\"").append(action).append("\";\r\n")
    .append(" page_validate();\r\n")
    .append(" document.").append(form).append(".submit();\r\n")
    .append("}\r\n");

    sb.append("function page_last()\r\n")
    .append("{\r\n")
    .append(" page_validate();\r\n")
    .append(" document.getElementById(\"pageInfo.pageNo\").value = pageCount;\r\n")
    .append(" document.").append(form).append(".action=\"").append(action).append("\";\r\n")
    .append(" document.").append(form).append(".submit();\r\n")
    .append("}\r\n");
    sb.append("</script>\r\n"); 
    JspWriter out = pageContext.getOut();
    try {
    out.println(sb.toString());
    } catch (IOException e) {
    logger.error(null,e);
    }
    return EVAL_PAGE;
    }
    public void setForm(String form) {
    this.form = form;
    }
    public void setAction(String action) {
    this.action = action;
    }
    public String getForm() {
    return form;
    }
    public void setButtonclass(String buttonclass) {
    this.buttonclass = buttonclass;
    }
    public String getButtonclass() {
    return buttonclass;
    }
    public void setPagesize(String pagesize) {
    this.pagesize = pagesize;
    }
    public String getPagesize() {
    return pagesize;
    }
    }