Struts2的通过,而不是在操作类请求对象
我有一个<s:select list="myList" />
从在Action类发现沿着其相关联的getter &制定者的List<String>
被填充...Struts2的<S:选择列表= MYLIST“/>通过,而不是在操作类请求对象
按照这个简单的例子
https://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/
不过,我想知道是否有可能不动作类中创建一个列表,而是存储在请求一个List对象
List<String> myList = new ArrayList<>();
myList.add("value1"); myList.add("value2"); etc...
request.setAttribute("myList", myList);
,并用它来填充<s:select list="myList" />
我曾尝试这一点,但我无法得到它的工作。我想知道这是我做错了还是只能做不成?
我的信念是,表格中的所有数据添加到无论如何在JSP的负载要求,如果它是手动添加按照上述这样要不要紧......
有可能像下面
List<String> myList = new ArrayList<>();
myList.add("value1"); myList.add("value2"); //etc...
ActionContext actionContext = ActionContext.getContext();
if(null != actionContext) {
ValueStack stack = actionContext.getValueStack();
stack.setValue("#request['myList']", myList);
}
然后
<s:select list="#request['myList']" />
这就是感谢亚西尔...感谢塔贴的一些新的东西! –
号为什么?别。 'request.setAttribute'工作得很好。 –
当我测试这个Aleksandr时,一个简单的'request.setAttribute'不起作用。在Action中将列表设置为一个对象,并使用getter ans setter,以及Yasser的上述建议也起作用... –
可以,但可能不应该。 –