java - 使用 html 的整数数组下拉列表 :select

标签 java jsp struts

我一直在开发 stuts 应用程序,其中使用了 Integer ArrayList。我需要创建一个下拉列表来列出数组列表。

我一直在尝试使用 html:select --> html:optioncollection。

但我收到错误 Cannot create iterator for com.SelectTagForm@18488ef

代码:

<html:optionsCollection name="selectTagForm" 
label="grade" value="grade" />

提前致谢!!!

最佳答案

这是引发异常的代码段。来自optionsCollection标签。

protected Iterator getIterator(Object collection)
  throws JspException {
  if (collection.getClass().isArray()) {
    collection = Arrays.asList((Object[]) collection);
  }
  if (collection instanceof Collection) {
    return (((Collection) collection).iterator());
  } else if (collection instanceof Iterator) {
    return ((Iterator) collection);
  } else if (collection instanceof Map) {
    return (((Map) collection).entrySet().iterator());
  } else if (collection instanceof Enumeration) {
    return new IteratorAdapter((Enumeration) collection);
  } else {
    throw new JspException(messages.getMessage(
        "optionsCollectionTag.iterator", collection.toString()));
  }
}

不知道您的完整设置是什么,因为您只发布了一行代码,但很明显您没有向其发送正确的集合(您正在发送 com.SelectTagForm 作为错误消息指定的)。

仔细阅读the documentation ;和 here这是一个简单的教程。

另一件事是,此标签对 bean 集合进行操作,其中每个 bean 都有一个 label 属性和 value 属性(这些属性的实际名称可以使用此标签的 labelvalue 属性进行配置)。您无法从 Integer ArrayList 中提取类似的内容(正如您所指定的那样)。

关于java - 使用 html 的整数数组下拉列表 :select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3582752/

相关文章:

jsp - tomcat只能有两个并发

java - Struts:从请求范围获取ElementByID (Javascript)

Java/Java EE - 在单一环境中部署来自不同供应商的应用程序服务器

c# - IKVM 在 C# 中运行 jar 实际需要什么?

java - Android Camera2 - 切换闪光模式

java - JAVA 的 JSP 和 HTML 解析器

java - 解决JSP空指针异常问题

java - Struts 2 URL 不会替换为正确的值

java - ActionForward Struts 1.3的简单使用

java - 替换 MarkLogic 中弃用的 KeyValueQueryDefinition 以使用 Query By Example