从 MySql 数据库中选取值并在 Struts 中填充 select 标签 2

Pick values from MySql database and populate select tag in Struts 2

我想从我的数据库 Prodotti1 中选取值并在 Struts 中用它们填充下拉列表 2.

我正在使用

<sql:setDataSource var="ds" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/Prodotti1" user="root" password="root"/>
<sql:query dataSource="${ds}" var="result">
    SELECT * from Producer;
</sql:query>

    <c:forEach var="row" items="${result.rows}">
          <option value='<c:out value="${row.producer_name}"/>'>
          <c:out value="${row.producer_name}"/></option>
    </c:forEach>

我要填充

<s:select label="Producer"
    headerKey="-1" headerValue="--Select--"
    list=""
    name="" />

但我不知道在 list 字段中输入什么。如果我输入 %{result.row} 我得到这个错误:

The requested list key '%{#result.row}' could not be resolved as a collection/array/map/enumeration/iterator type

如何解决?

您可以使用 #attr,它将在所有范围内搜索变量。

<s:select label="Producer"
    headerKey="-1" headerValue="--Select--"
    list="%{#attr.result.rows.{producer_name}}"
    name="producer" />