从 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" />
我想从我的数据库 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" />