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