无法从 struts2 中的值堆栈中获取值
Can't get value from value stack in struts2
我使用 struts 2 ,我想使用 struts 标签。
我想使用
<s:select list="types" name="list"/>
从值堆栈中获取列表,这是我的操作代码
ValueStack valueStack = ServletActionContext.getContext().getValueStack();
valueStack.pop();
valueStack.push(types);
但是没有work.Here是报错信息
HTTP Status 500 - tag 'select', field 'list', name 'list': The requested list key '#types' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
但是,如果我将列表放入 requestScope.It 确实有效,就像这样<s:select list="types" name="#request.types"/>
那我该怎么办?
正如 Walid 所说,我应该在您的操作中使用 getTypes() 方法 class 而不是直接使用值堆栈。
所以我改变了我的代码:
List<String> types ;
public List<String> getTypes() {
return types;
}
types = dailyNewsService.getAllTypes();
为了成功的生活,实现 Preparable Interface 并加载你的 "static" 数据:
@Override
public void prepare() throws Exception {
types = dailyNewsService.getAllTypes();
}
我使用 struts 2 ,我想使用 struts 标签。 我想使用
<s:select list="types" name="list"/>
从值堆栈中获取列表,这是我的操作代码
ValueStack valueStack = ServletActionContext.getContext().getValueStack();
valueStack.pop();
valueStack.push(types);
但是没有work.Here是报错信息
HTTP Status 500 - tag 'select', field 'list', name 'list': The requested list key '#types' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
但是,如果我将列表放入 requestScope.It 确实有效,就像这样<s:select list="types" name="#request.types"/>
那我该怎么办?
正如 Walid 所说,我应该在您的操作中使用 getTypes() 方法 class 而不是直接使用值堆栈。
所以我改变了我的代码:
List<String> types ;
public List<String> getTypes() {
return types;
}
types = dailyNewsService.getAllTypes();
为了成功的生活,实现 Preparable Interface 并加载你的 "static" 数据:
@Override
public void prepare() throws Exception {
types = dailyNewsService.getAllTypes();
}