snowy_lee 2010-05-07 17:13
浏览 285
已采纳

自定义 tld 标签,点击下一页,如何重新绘制页面

自己刚做了一个 tld 分页标签,在点击下一页的时候,我已经调用后台action方法,得到了下一页的数据,可问题是,我的页面没有重新绘制,不知道是什么情况;我的tag后台处理如下:[code="java"]

public class SelectTag extends TagSupport
{

private String urlStr;// 服务地址

private String parms;// 参数

private SelectBean selectBean;// 返回数据

private boolean hand = false;// 是否允许手动输入

private String cssClass;// 样式

@Override
public int doStartTag() throws JspException
{

    return EVAL_BODY_INCLUDE;
}

@Override
public int doEndTag() throws JspException
{
    try
    {
        JspWriter out = pageContext.getOut();
        StringBuffer total = new StringBuffer("<div class=\"" + cssClass + "\">");
        drawSelect(total);

        total.append("<div id=\"listDIV\" class=\"list\">");
        total.append("<table>");
        total.append(drawList());
        total.append("</table>");
        total.append("</div>");

        total.append("</div>");
        out.print(total.toString());
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    return EVAL_PAGE;
}

@Override
public int doAfterBody() throws JspException
{
    return super.doAfterBody();
}

/**
 * 绘制select
 * @param total
 * 
 */
private void drawSelect(StringBuffer total)
{
    total.append("<div>");
    total.append("<input type=\"text\" name=\"Condition\" class=\"condition\" />");
    total.append("<input type=\"Button\" value=\"查询\" class=\"search\" onclick=\"search();\" />");
    total.append("</div>");
}

/**
 * 绘制显示列表
 * 
 * @param total
 * 
 */
private String drawList()
{
    StringBuffer innerTotalBuffer = new StringBuffer("");
    if (null != selectBean)
    {
        String zsnd = null;
        for (int i = 0; i < selectBean.getObjs().size(); i++)
        {
            zsnd = selectBean.getObjs().get(i).get("ZSND") + "";
            if (null == zsnd || zsnd.equals("null")) continue;
            innerTotalBuffer.append("<tr><td>");
            innerTotalBuffer.append(selectBean.getObjs().get(i).get("ZSND"));
            innerTotalBuffer.append("</td></tr>");
        }
    }
    return innerTotalBuffer.toString();
}

/* ======================数据封装========================== */
public String getParms()
{
    return parms;
}

public void setParms(String parms)
{
    this.parms = parms;
}

public SelectBean getSelectBean()
{
    return selectBean;
}

public void setSelectBean(SelectBean selectBean)
{
    this.selectBean = selectBean;
}

public String getCssClass()
{
    return cssClass;
}

public void setCssClass(String cssClass)
{
    this.cssClass = cssClass;
}

public boolean isHand()
{
    return hand;
}

public void setHand(boolean hand)
{
    this.hand = hand;
}

public String getUrlStr()
{
    return urlStr;
}

public void setUrlStr(String urlStr)
{
    this.urlStr = urlStr;
}

}
[/code]

  • 写回答

2条回答 默认 最新

  • weixin_42518082 2010-05-08 08:13
    关注

    如果数据都正确的话, 基本上是search函数调用不对, 是不是没有引入js?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化