小编典典

正确使用LabelValueBean

jsp

我有一个变量:

private ArrayList<LabelValueBean> circleNameIdList;

在我的Action班级里面,它的价值被填充。

我想在我的JSP下拉列表中显示标签,并且当选择一个标签时,该特定标签的对应值circleNameIdList将传递到服务器。例如:如果NewYork选择了标签:,则其对应的id = 5将发送到服务器。

我该如何实现?

到目前为止,我在JSP中的操作如下:

<s:select list="#session.circleNameIdList" label="Select Circle:" name="circleNameIdList" id="circleNameIdList"></s:select>

但是,它显示不正确。


阅读 467

收藏
2020-06-08

共1个答案

小编典典

我看到您正在使用LableValueBean来填充并显示一个下拉列表。它是前一个Bean,最后用于显示对象列表。在Struts2中,不再需要这样的辅助bean。您可以通过指定一个键字段来显示对象列表,该键字段将保留所选选项的唯一值以及将显示为选项文本的值。例如,如果您的对象

public class Circle {
   private Long id;
   //getter and setter here

  private String name;
  //getter and setter here
}

而且你在动作课上

private List<Circle> circleNameIdList;
//getter and setter here

/**
 * Hold the selected value
 */
private Long circleId;
//getter and setter here

然后

<s:select id="circleNameIdListID" label="Circle:" name="circleId" 
  list="circleNameIdList"   listKey="id" listValue="name" headerKey="-1" headerValue="Select Circle"/>

可以用来显示下拉列表。

2020-06-08