0

我是新来的struts。我想将会话中的数据列表加载到<s:select>等于纯 html的选择标记<select><option>values..</option></select>。数据可能会从数据库中加载,并将它们放到一个列表中。我寻找互联网。但这一切都对我不起作用。请任何人告诉我如何做到这一点或提供任何工作示例的链接。(包括动作类,struts.xml和jsp页面。最需要的代码就足够了。)

4

2 回答 2

1

只要您在堆栈上有 java.util.List 中的值列表,就可以使用以下内容:

<s:select label="Some label"          
list="yourList"
name="somName" />

您可以在此处找到示例:http ://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/

于 2012-06-15T15:32:44.960 回答
1

我不确定您为什么要将 List 放在会话中?Struts2 提供了一种干净的方式将您的请求/响应数据放入 Valuestack 中,其 OGNL 系统提供了一种非常干净的方式来访问值栈中的这些数据。所有您需要在操作类中有一个列表及其 getter 和 setter 以及UI 使用内置 struts2 标记来访问这些数据。这是完成此操作的简单代码

动作类

public Class MyAction extends ActionSupport{

  private List<String> myList;
  //getter and setter for myList

  public String execute() throws Exception{
    myList=new ArrayList<String>();
   // fill the list
   return SUCCESS;
  }

}

在 UI 级别,您需要使用 S2选择标签,例如

JSP

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

/>

这就是你需要做的。为了在 struts.xml 中映射它,它非常简单,您只需配置您的操作名称及其受人尊敬的类。希望这会对您有所帮助。有关 S2 的更多详细信息,我建议参考官方文档。

如果你想把列表放在你的java类的会话中并想在jsp中访问它,这里是JSP代码

%{#session.MyList}
于 2012-06-15T15:45:46.210 回答