java - 如何在Struts 2中检索select标签的值

标签 java jsp jdbc struts2 struts-tags

我正在使用 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;
}

迭代您的对象并使用 listKeylistValue 属性指定键和值:

<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/

相关文章:

java - 无法使用智能手环 2 从 Google Fit API 获取心率数据

java - 用两个 ImageView 填充横向模式下的宽度

java - 在jsp中连接url

java - 如何使用 JPA 将 List<String> 中的多个 String 元素保存到数据库中?

c# - 按多列排序的目的是什么?

java - MobileNo 验证错误和日期时间验证技术

java - EL 如何在不知道对象类的情况下使用对象的方法和字段

java - 使用 JDBC 领域进行身份验证

java - 使用 JDBC 驱动程序进行 Oracle 插入优化

java - 在 java 中调用 oracle PL/SQL 函数 - 无效的列类型错误