【问题标题】:failed to show data in Struts2 dropdown未能在 Struts2 下拉列表中显示数据
【发布时间】:2013-08-01 07:06:22
【问题描述】:

当我使用 struts2 标签制作下拉列表时。我收到以下错误“请求的列表键'myList'无法解析为集合/数组/映射/枚举/迭代器类型。示例:人员或人员。{name}”。 我的要求是从动作类中检索变量列表并将其显示在 struts2 的下拉列表中。我确实需要将其作为对象。

private List<String> mylist;

public String execute(){
  mylist=new ArrayList<String>();
  mylist.add("first");
  mylist.add("second"); 
  mylist.add("third");
  setName("arun");

  return SUCCESS;
} 
public List<String> getMylist() { 
  return mylist; 
} 
public void setMylist(List<String> mylist) {
  this.mylist = mylist;
}

JSP:

<s:select label="MyList" name="myList" headerKey="-1"
    headerValue="Select Value" list="MyList" />

【问题讨论】:

  • list="MyList" 更改为list="mylist"
  • 我在 jsp 和 action 类中都将所有这些 myList 更改为 mylist 。但是,我仍然遇到同样的错误
  • 在行动?为什么?仅在 JSP 中更改。
  • 您只需要在 JSP 中更改它。 getMylist()list="mylist" 一起读取,因为get 部分被省略并且第一个字母小写。
  • 请注意,SO 是异步的,人们在编辑问题之前会制作 cmets。

标签: java struts2


【解决方案1】:

要在 JSP 中获取 struts2 下拉列表中的值,需要初始化列表,如下所示,

private String mylist;

// getter and setter

//获取这样的列表的逻辑

 ShowSearch drop=new ShowSearch();
 service=drop.serviceType();  //value can be from DB or manually set in list 
setMylist(service);

在 JSP 中,

<s:select label="Drop" name="mylist" headerKey="-1"
    headerValue="--Select--" Value" list="mylist" />

注意:jsp中list的名字应该和action类中的初始化变量一致。

【讨论】:

    猜你喜欢
    • 2013-05-28
    • 2013-12-20
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2014-08-09
    • 1970-01-01
    相关资源
    最近更新 更多