java - 从自定义标签返回值到jsp

标签 java jsp foreach jstl resultset

我正在练习自定义标签和 jSTL 标签,现在我想要的是我的自定义标签应该返回一个结果集,而 jSTL 应该迭代这个结果集。

我的自定义标签是这样的:

 <connect:Query where="${param.id }"></connect:Query>

查询结果为resultset。

现在,如何返回这个结果,以便可以对其进行迭代。

最佳答案

我通过执行以下操作解决了这个问题:

为结果构建一个包装器

    public class Row {

    String value;

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String toString() {
        return value;
    };
}

在标记处理程序中,我以集合的形式添加了元素,因为 forEach 处理对象集合。

public int doStartTag() throws JspException {
// some code here
ArrayList<Row> rowList = new ArrayList<>();
  while(set.next()){
     //pageContext.getOut().print("<br>" + set.getString("empName"));
       Row currRow = new Row();
       currRow.setValue(set.getString("empName"));
       rowList.add(currRow);
  }
 pageContext.setAttribute("result", rowList);
 // some more code 
}

在jsp中我像下面这样处理属性

<connect:Query where="${param.id }"></connect:Query>
<c:forEach var="value" items="${result }">
    <c:out value="${value }"></c:out>
</c:forEach>

关于java - 从自定义标签返回值到jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20632463/

相关文章:

java - 在 C# 中使用 getBytes() 从 SQL 中获取数据(提供了 JAVA 代码)

java - 从servlet获取对象到flex

java - java中如何从txt文件中获取特定行

javascript - 打破 JavaScript ES6 函数不使用 return

loops - 如何在用户名末尾添加数字

java - 当短信再次发送时,命令显示忙(在java中)

jsp - Adobe CQ5的助手是空的(未显示任何组件)

javascript - jquery 对话框内的文本区域

java - Spring MVC - Eclipse 警告 - 验证消息

xml - XSLT For-Each 循环从枚举标签获取数据?