Struts2不能动态工作

问题描述 投票:1回答:2

我正在使用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>" />)中显示特定列表,该列表存储在我的表(Database)列中。

通常它会像。

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

它会运作良好。

但我发现简单的选择框没有列表值。那么实际问题是什么?

总之,我想动态调用列表。

java jsp struts2
2个回答
1
投票

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

试试这个:

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

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


0
投票

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

如果是这样,只需使用像<s:select list这样的<s:select list="#empReportField.listName"

其中<s:iterator value="empReportFields"是一个列表,在列表中列出另一个名为listName的列表或地图。

© www.soinside.com 2019 - 2024. All rights reserved.