0

大家好。

我这里有一个简单的问题。在我的订单类中,我有 OrderStatus 字段,它是数据库中的一个枚举。(可以是“处理中”或已分派)

我的问题是,当我使用 update.jspx 时,我想要一个字段:选择下拉列表,管理员可以在其中更改此值。

因为无法从数据库中读取这些值,所以我想在 order.java 中创建一个静态数组列表,如下所示:

public static List<String> StatusList;
static{
  ArrayList<String> tmp = new ArrayList<String>();
  tmp.add("Under process");
  tmp.add("Dispatched");
  StatusList = Collections.unmodifiableList(tmp);
}


public List<String> getStatusList() {
    return StatusList;
}

如何使用 field:select 标签读出这些值,并将它们设置为 orderStatus?

<field:select field="orderStatus" id="c_photostore_Porder_orderStatus" items="${porders}" itemValue="orderStatusList" path="/porders"/>

如果我可以从 update.jspx 调用一个方法,我认为也可以,但我只知道 webflow 中的语法,而不知道标准 roo 中的语法。

4

2 回答 2

1

您可以将 List 放在 ServletContext 或请求属性中,并通过调用${application.StatusList}或在 jsp 上访问它${request.StatusList}

您还可以应用帖子中描述的解决方案

于 2012-11-06T14:45:30.217 回答
0

非常感谢!对于新手:像这样在 jspx 中使用它:

 items="${applicationScope.StatusList}"

在类中实现servletContextAware

将列表保存到 servletcontext。(setServletContext 方法)

我找不到 itemvalue 工作的解决方案,有什么方法可以获取 field:select 而不是可编辑的?(所以是一个下拉列表,没有编辑)?

于 2012-11-07T02:47:59.603 回答