1

我正在使用 Struts2。

<s:iterator value="empReportFields" var="empReportField" 
    <s:select name="%{#empReportField.fieldName}" list="%{#empReportField.listName}" listKey="id" listValue="name" cssClass="search" headerValue="All" headerKey="All" />                                           

    <s:property value="#empReportField.listName" />
    // Here it is displaying proper list name                   
</s:iterator>

我正在从我的数据库中获取这些数据。现在我在选择框 ( <s:select list="<ListName>" />) 中显示特定列表,该列表存储在我的表(数据库)的列中。

通常它会像这样运行。

<s:select name="emp" list="locationList" 
          listKey="id" listValue="name" 
          headerValue="All" headerKey="All" />

它会运作良好。

但我发现其中没有列表值的简单选择框。那么真正的问题是什么?

简而言之,我想动态调用列表。

4

2 回答 2

1

s:select 标签 itslef 有一个 list 属性,您可以在其中直接给出要填充下拉列表的列表的名称(在操作类中)。您不需要迭代器将值打包到 s:select 下拉列表中。

尝试这个:

<s:select label="Select from here" 
        headerKey="-1" headerValue="Select"
        list="listNameHere" 
        name="feildNameHere" />

这里'listNameHere'是动作层中的列表,'feildNameHere'是动作类中的一个实例变量,它接收用户选择的值。

于 2013-05-22T14:15:17.810 回答
0

根据我对您要<s:select list根据迭代器值动态加载的问题的理解。

如果是这样,请使用<s:select listlike this <s:select list="#empReportField.listName"

列表在哪里<s:iterator value="empReportFields",在该列表中还有另一个名为 的列表或映射listName

于 2019-02-13T13:08:19.980 回答