我是struts的新手。我想将会话中的数据列表加载到选择标记<s:select>
,该标记等于纯html <select><option>values..</option></select>
。可以从数据库加载数据并将它们放入列表中。我找了上网。但这一切都不适合我。请任何人让我知道如何做到这一点或提供与工作示例的任何链接。(包括动作类,struts.xml和jsp页面。最需要的代码就足够了。)
答案 0 :(得分: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/
答案 1 :(得分: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 select tag,如
<s:select label="MyList"
name="myList"
headerKey="-1" headerValue="Select Value"
list="myList"
/>
这就是你需要做的。为了在struts.xml中映射它,它非常直接,你需要配置你的动作名称和它所尊重的类。希望这对你有帮助。 有关S2的更多详细信息,我建议参考官方文档。
如果你想把列表放在java类的session中并想在jsp中访问它,那么这里是JSP代码
%{#session.MyList}