我正在使用 Struts <s:select>
用于从 JSP 页面上的表单中显示的数据库检索值的标记我使用以下代码将值存储在列表对象中
ps = con.prepareStatement("select emp_ty_name, em_ty_id from emptype");
set = ps.executeQuery();
while (set.next()) {
typeID.add(set.getInt("em_ty_id"));
typeName.add(set.getString("emp_ty_name"));
}
在 JSP 页面中,我正确显示名称,但它显示的值是 0(零) 值
<s:select label="Employee Type" list="typeName" name="empType_em_ty_id" />
最佳答案
您需要使用具有两个属性的对象列表,而不是两个单独的列表。
然后创建一个像这样的对象
public class EmpType {
private Integer typeID;
private String typeName;
// getters and setters
}
在您的操作中声明它的列表,然后填充它:
private List<EmpType> empTypes = new ArrayList<EmpType>();
// getters and setters
public String execute(){
// stuff...
while (set.next()) {
EmpType et = new EmpType();
et.setTypeID(set.getInt("em_ty_id"));
et.setTypeName(set.getString("emp_ty_name"));
empTypes.add(et);
}
// stuff
return SUCCESS;
}
迭代您的对象并使用 listKey
和 listValue
属性指定键和值:
<s:select label = "Employee Type"
list = "empTypes"
listKey = "typeID"
listValue = "typeName"
name = "empType_em_ty_id" />
关于java - 如何在Struts 2中检索select标签的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23358079/