gpt4 book ai didi

hibernate - 如何从表(持久性数据库表)中提取列到jsp页面中 'select'的 'form'列表中

转载 作者:行者123 更新时间:2023-12-04 05:39:24 27 4
gpt4 key购买 nike

我想从表(持久性数据库表)中提取一列到 jsp 页面中的“表单”的“选择”列表中。
我正在使用struts2和hibernate。

我的列是“名称”,表是“类别”
我已经制作了映射配置和 bean 类。

jsp页面的“形式”中的代码:

<s:select label="Select Category :" name="cname" list="categoryList" />

我的 Action 课:
package com.rambo.action;

import beans.Category;
import com.opensymphony.xwork2.ActionSupport;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;

public class FindCategory extends ActionSupport {

private List<Category> cl = new ArrayList<Category>();
private List<String> categoryList = new ArrayList<String>();

@Override
public String execute() throws Exception {
Session session = null;
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
this.cl = (List<Category>) session.createQuery("from Category").list();
if (this.cl.isEmpty()) {
this.addActionError("Sorry.. No category Available. Try again Later.!");
return ERROR;
}
for (int i = cl.size()-1; i >= 0; i--) {
categoryList.add(cl.get(i).getName());
}
session.getTransaction().commit();
} catch (Exception e) {
this.addActionError("Oops. An Error Encountered...!");
return ERROR;
}
return SUCCESS;
}
}

Category.hbm.xml 中的映射:
<property name="name" type="string">
<column name="NAME" length="20" not-null="true" />
</property>

bean "Category.java"的 getter 和 setter:
public String getName() {
return this.name;
}

public void setName(String name) {
this.name = name;
}

我的 glassfish 服务器显示错误为:
org.apache.jasper.JasperException: tag 'select', field 'list', name 'cname': The requested list key 'categoryList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]

root cause tag 'select', field 'list', name 'cname': The requested list key 'categoryList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]

有人可以指出可能是什么错误..?
提前致谢。

最佳答案

categoryList 创建一个公共(public) getter ,否则标签无法访问列表。

另外,IMO,您在行动中做的工作太多了。

关于hibernate - 如何从表(持久性数据库表)中提取列到jsp页面中 'select'的 'form'列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11453712/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com