使用 Struts2 将数据库数据绑定到下拉框中 (struts2 下拉框 数据库)
随着互联网技术的不断发展,越来越多的应用程序需要使用到数据库来存储数据,而Web应用程序更是如此。在Web应用程序中,常常需要将数据库中存储的数据展示给用户进行选择。而下拉框是一种常见的选择控件,很多程序需要将数据库的数据绑定到下拉框中,以方便用户进行选择。本文将介绍如何使用 Struts2 框架将数据库数据绑定到下拉框中。
在 Struts2 中,可以使用标签库来生成下拉框。为了将数据库数据绑定到下拉框中,需要先从数据库中读取数据,然后将数据传递给下拉框标签库。下面是详细的操作步骤。
1. 创建数据库表格
在本例中,我们将创建一个名为“Person”的数据库表格。该表格包含三个字段,分别为“ID”、“Name”和“Age”。下面是创建该表格的 SQL 语句:
“`
CREATE TABLE Person (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT
);
“`
2. 添加数据
在本例中,我们添加一些测试数据以供使用。下面是添加数据的 SQL 语句:
“`
INSERT INTO Person (ID, Name, Age)
VALUES (1, ‘Tom’, 20), (2, ‘Jerry’, 22), (3, ‘Mike’, 25), (4, ‘Sara’, 18);
“`
3. 创建 Struts2 项目
在 Eclipse 中创建一个新的 Dynamic Web 项目,然后将 Struts2 框架的 Jar 包导入项目的 lib 目录中。
4. 创建 Person 类
创建一个名为“Person”的类,并添加以下代码:
“`java
public class Person {
private int id;
private String name;
private int age;
// 省略 getter 和 setter 方法
}
“`
5. 编写数据库操作类(Dao 类)
创建一个名为“PersonDao”的类,并添加以下代码:
“`java
public class PersonDao {
public List getAllPerson() {
List personList = new ArrayList();
try {
Class.forName(“com.mysql.jdbc.Driver”);
Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”, “root”, “password”);
PreparedStatement statement = connection.prepareStatement(“SELECT * FROM Person”);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
Person person = new Person();
person.setId(resultSet.getInt(“ID”));
person.setName(resultSet.getString(“Name”));
person.setAge(resultSet.getInt(“Age”));
personList.add(person);
}
resultSet.close();
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return personList;
}
}
“`
上述代码中的“test”是数据库名称,“root”和“password”分别是数据库的用户名和密码。如果需要修改成自己的配置,请在代码中进行相应的修改。
6. 在 struts.xml 中配置 Action 和 Result
在 struts.xml 文件中添加以下代码:
“`xml
/index.jsp
“`
上述代码中,我们创建了一个名为“index”的 Action,并将其映射到“/index.jsp”页面。我们将在该页面中创建下拉框,并将数据库数据绑定到下拉框中。
7. 创建 IndexAction 类
创建一个名为“IndexAction”的类,并添加以下代码:
“`java
public class IndexAction extends ActionSupport {
private List personList;
private int selectedPersonId;
public String execute() {
PersonDao dao = new PersonDao();
personList = dao.getAllPerson();
return SUCCESS;
}
public List getPersonList() {
return personList;
}
public int getSelectedPersonId() {
return selectedPersonId;
}
public void setSelectedPersonId(int selectedPersonId) {
this.selectedPersonId = selectedPersonId;
}
}
“`
上述代码中,我们定义了一个名为“personList”的 List ,用于存储从数据库中读取到的 Person 对象。我们还定义了一个名为“selectedPersonId”的整型变量,用于记录用户选择的 Person 对象的 ID。在 execute() 方法中,我们通过 PersonDao 类从数据库中获取所有的 Person 对象,并将其存储到“personList”中。在“getPersonList()”和“setSelectedPersonId()”方法中,我们分别定义了“personList”和“selectedPersonId”的 getter 和 setter 方法。
8. 在 index.jsp 页面中添加下拉框
创建名为“index.jsp”的页面,并添加以下代码:
“`jsp
“`
上述代码中,我们使用 Struts2 的标签库来生成下拉框,具体来说,我们使用了“”标签。在“”标签中,我们指定了下拉框的名称为“selectedPersonId”,数据源为“personList”,列表项的键值为“id”,列表项的文本值为“name”。此外,我们还使用了“”标签来创建一个表单,以便用户进行提交操作。
9. 运行程序
在本例中,我们使用 Tomcat 作为应用程序的 Web 服务器,在 Eclipse 中配置服务器和部署应用程序后,即可运行程序。在运行程序时,将会看到一个下拉框,其中包含了从数据库中读取到的 Person 对象。