【问题标题】:Struts 2 select tag with values of a array listStruts 2选择带有数组列表值的标签
【发布时间】:2014-05-10 17:44:00
【问题描述】:

我正在开发一个简单的 struts 应用程序。在我的 JSP 中,我有一个下拉列表框(使用 s:select 标签)。我需要在动作类中用 arraylist 值填充这些值。我怎样才能做到这一点?需要在 structs.xml 文件中进行哪些更改才能完成此操作?

JSP:

<s:select name="department" label="" list="departmentlist"  headerKey="-1" headerValue="Select Department">

动作类:

private List<String> departmentlist = new ArrayList<String>();

public String xyz()
{
    departmentlist.add("aaa");
    departmentlist.add("bbb");
    departmentlist.add("ccc");
    departmentlist.add("ddd");
    return "success";
}

【问题讨论】:

  • 你在说什么structs.xml
  • 谷歌搜索后,我发现在struts配置文件中添加了动作映射条目。无论如何,我怎样才能在下拉框中显示这个数组列表值?
  • 为列表创建一个getter,然后它会自动填充。
  • 我已经试过了。我收到以下错误消息。 "请求的列表键 'departmentlist' 无法解析为集合/数组/地图/枚举/迭代器类型。示例:人员或人员。{name} - [未知位置]"
  • 显示你的 struts 标签以获得成功

标签: java jsp struts2 struts valuestack


【解决方案1】:

尝试在您的班级中为我们的字段部门列表添加 get 和 set 方法 示例: 在您的类控制器中将此方法用于您的字段部门列表:

public  List<String> getDepartmentlist(){
  return this.departmentlist();
}

public void setDepartmentlist(List<String> departmentlist){
  return this.departmentlist = departmentlist;
}

【讨论】:

  • 一个代码示例会有所帮助,并使其成为更好的答案。
【解决方案2】:

错误

"请求的列表键 'departmentlist' 无法解析为 集合/数组/映射/枚举/迭代器类型。示例:人或 people.{name} - [未知位置] "

表示select 标签无法将departmentlist 解析为集合。这是一个 OGNL 表达式,它试图在值堆栈中找到departmentlist,如果它没有找到或包含null 引用,select 标记将抱怨。渲染 select 标记时,请确保列表位于值堆栈中并已初始化。请参阅示例here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    相关资源
    最近更新 更多