如何从 <s:select> 字符串中获取整数值
How to get an Integer value from <s:select> String
这是我的 DAO:
public ReportType getByName(String type) {
EntityManager em = emf.createEntityManager();
try {
ReportType rptype2 = em.find(ReportType.class, type);
return rptype2;
} catch (Exception e) {
e.printStackTrace();
em.close();
}
return null;
}
这是我的操作:
ReportDAO dao = new ReportDAO();
List<ReportType> reportType = dao.show();
list = new ArrayList<>();
for (ReportType reportType1 : reportType) {
list.add(reportType1.getName());
}
ReportTypeDAO rpDAO = new ReportTypeDAO();
reporttype = rpDAO.getByName(type);
这是我的 jsp:
<h3>Type: <s:select list="list" name="type"></s:select>
这是我的 table:
CREATE TABLE [dbo].[Report_Type](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](100) NULL,
当我提交时,我收到一条字符串格式的记录(名称),但我想获取该记录 ID。
有什么解决办法吗?
使用listKey
和listValue
:
<s:select list = "list"
listKey = "id"
listValue = "name"
name = "type" />
阅读更多关于the documentation
您需要使用 listKey 和 listValue 在 select 中指定 ID 和名称。
<s:select label="My Label"
name="name"
list="list"
listKey="id"
listValue="name"
"/>
这是我的 DAO:
public ReportType getByName(String type) {
EntityManager em = emf.createEntityManager();
try {
ReportType rptype2 = em.find(ReportType.class, type);
return rptype2;
} catch (Exception e) {
e.printStackTrace();
em.close();
}
return null;
}
这是我的操作:
ReportDAO dao = new ReportDAO();
List<ReportType> reportType = dao.show();
list = new ArrayList<>();
for (ReportType reportType1 : reportType) {
list.add(reportType1.getName());
}
ReportTypeDAO rpDAO = new ReportTypeDAO();
reporttype = rpDAO.getByName(type);
这是我的 jsp:
<h3>Type: <s:select list="list" name="type"></s:select>
这是我的 table:
CREATE TABLE [dbo].[Report_Type](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](100) NULL,
当我提交时,我收到一条字符串格式的记录(名称),但我想获取该记录 ID。 有什么解决办法吗?
使用listKey
和listValue
:
<s:select list = "list"
listKey = "id"
listValue = "name"
name = "type" />
阅读更多关于the documentation
您需要使用 listKey 和 listValue 在 select 中指定 ID 和名称。
<s:select label="My Label"
name="name"
list="list"
listKey="id"
listValue="name"
"/>