使用Struts2下拉列表操作数据库数据-数据库-struts2下拉列表 (使用STAR法则撰写两则个人成就)

教程大全 2025-07-17 17:52:04 浏览

随着网络应用日益普及,Web应用程序的开发也越来越流行。在java Web应用程序开发中,Struts2框架被广泛使用。其中,下拉列表是常见的用户输入控件,常常用来选择一项或多项数据。在Struts2中,操作下拉列表选择的数据通常都与操作数据库数据有关。本文将介绍Struts2下拉列表的使用方法,同时提供一个简单的实例演示如何操作数据库中的数据。

一、Struts2下拉列表的使用方法

1.定义下拉列表

在Struts2中,可以使用HTML标签或Struts2标签库定义下拉列表。下面是HTML标签的定义:

其中,Name属性指定下拉列表的名称,option标签定义每个选项的内容和对应的值(value属性)。

运用Struts2标签库定义下拉列表更加简单。只需在P页面中使用相应的标签,即可生成下拉列表。下面是使用Struts2标签库定义下拉列表的示例代码:

2.处理下拉列表

在Struts2中,可以使用Action类的属性、Ognl表达式等方式获取下拉列表选择的数据。下面是使用Action类的属性获取下拉列表选择的数据的示例代码:

在Action类中定义mySelect属性:

private String mySelect;

public String getMySelect() {

return mySelect;

public void setMySelect(String mySelect) {

this.mySelect = mySelect;

在P页面中使用下拉列表:

在操作Action中,可以通过以下方式获取用户选择的数据:

public String myAction() {

System.out.println(“mySelect=” + mySelect);

return SUCCESS;

通过以上步骤,即可获取下拉列表中选择的数据。

二、的示例代码

下面提供一个简单的示例,演示如何使用Struts2下拉列表操作数据库中的数据。

(1)创建数据库表

创建一个名为“person”的数据库表,包含id、name和age三个字段:

CREATE TABLE person(

id INTEGER PRIMARY KEY AUTOINCREMENT,

age INTEGER

(2)进行Struts2配置

在struts.xml文件中,首先配置命名空间和默认Action,如下所示:

/index.jsp

/index.jsp

在com.example.PersonAction类中,定义查询数据库的方法:

public class PersonAction extends ActionSupport {

private List list;

public List getList() {

return list;

public void setList(List list) {

this.list = list;

public String query() throws Exception {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

Class.forName(“com.mysql.jdbc.Driver”);

String url = “jdbc:mysql://localhost:3306/test”;

String username = “root”;

String password = “123456”;

conn = DriverManager.getConnection(url, username, password);

String sql = “select * from person order by id”;

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

list = new ArrayList();

while(rs.next()) {

Person person = new Person();

person.setId(rs.getInt(“id”));

person.setName(rs.getString(“name”));

person.setAge(rs.getInt(“age”));

list.add(person);

} catch(Exception e) {

e.printStackTrace();

return ERROR;

if(rs != null) rs.close();

if(ps != null) ps.close();

if(conn != null) conn.close();

return SUCCESS;

(3)定义P页面

在index.jsp页面中,使用Struts2下拉列表,如下所示:

Struts2下拉列表操作数据库数据

(4)实现查询功能

在PersonAction类中,再添加一个查询指定id的方法:

public class PersonAction extends ActionSupport {

private List list;

public List getList() {

return list;

public void setList(List list) {

this.list = list;

private Person person;

public Person getPerson() {

return person;

public void setPerson(Person person) {

this.person = person;

private int personId;

public int getPersonId() {

return personId;

public void setPersonId(int personId) {

this.personId = personId;

public String query() throws Exception {

//查询数据库并将结果保存到list中

public String getById() throws Exception {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

Class.forName(“com.mysql.jdbc.Driver”);

String url = “jdbc:mysql://localhost:3306/test”;

String username = “root”;

String password = “123456”;

conn = DriverManager.getConnection(url, username, password);

String sql = “select * from person where id=?”;

ps = conn.prepareStatement(sql);

ps.setInt(1, personId);

rs = ps.executeQuery();

while(rs.next()) {

person = new Person();

person.setId(rs.getInt(“id”));

person.setName(rs.getString(“name”));

person.setAge(rs.getInt(“age”));

} catch(Exception e) {

e.printStackTrace();

return ERROR;

if(rs != null) rs.close();

if(ps != null) ps.close();

if(conn != null) conn.close();

return SUCCESS;

在index.jsp中,添加新的表单和提交按钮,调用getById方法:

Struts2下拉列表操作数据库数据

个人信息:

姓名:
年龄:

至此,我们已经完成了Struts2下拉列表操作数据库数据的示例。

三、

相关问题拓展阅读:

香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。


为什么我在oracle参数文件中设置standby

一 创建一个主库的数据文件备份:用冷备份方式,备份到e:\shared\back二 创建备用库的控制文件:冷备份之后,打开主库SQL> connect internal/oracle as sysdba;SQL>startup pfile=d:\oracle\admin\orcl\;SQL>alter database create standby controlfile as ‘e:\shared\back\stby_’;三 通过网络复制备份的数据文件和备用控制文件到备库主机四 配置主库的文件,添加备库别名为stby1,即下面内容:stby1=(description=(address=(protocol=tcp)(port=1523)(host=192.168.1.30))(connect_data=(SID=orcl)))五 配置备用库的文件,添加监听服务standby_listener,在相应的节里添加有关的内容。 如果原文件内已有,则修改之。 standby_listener节:(address_list=(address=(protocol=tcp)(port=1523)(host=192.168.1.30) ) )SID_list_standby_listener节:(sid_list=(sid_desc=(sid_name=orcl)(oracle_home=d:\oracle\ora81)) )这个文件中只能有这两节,不能有多个组,虽然可以定义监听的名字不同,但在启动监听服务的时候,都只启动一个监听服务。 六 重新启动备库监听服务,以使更改生效:DOS>lsnrctl# 启动监听服务管理程序LSNRCTL>status# 查看监听服务状态LSNRCTL>stop# 停止监听服务LSNRCTL>start# 启动监听服务也可以在管理工具的服务管理里停止和启动服务。 七 配置主库的初始化参数文件,修改归档目的地。 本地归档只归档到一个目录e:\log。 添加以下内容:# 定义本地归档路径,强制归档,重试时间2秒log_archive_dest_1 = “location=e:\log\ mandatory reopen=2”log_archive_dest_state_1 = enable# 定义归档到备用库,强制归档,重试时间15秒。 # 如果定义为可选状态(optional),那么在归档失败后不会再次尝试归档的。 定义# 为madatory状态后,如果本次归档失败,则在归档下一个日志时会再次尝试# 重传上一个未成功归档的日志。 log_archive_dest_2 = “service=stby1 mandatory reopen=15”log_archive_dest_2 = enable# 定义必须成功归档的日志数,只需要本地成功归档即可log_archive_min_succeed_dest = 1八 使主库修改后的参数生效。 以下操作是在未重启主库时使用。 如果修改主库初始化参数文件后重新启动了主库,则可以不使用下列命令。 下列命令只对当前实例有效。 SQL>alter system set log_archive_dest_1 = “location=e:\log mandatory reopen=2”;SQL>alter system set log_archive_dest_state_1 = enabl;SQL>alter system set log_archive_dest_2 = “service=stby1 mandatory reopen=30”;SQL>alter system set log_archive_dest_2 = enable;SQL>alter system set log_archive_min_succeed_dest = 1;九 配置备用库的初始化参数文件:将主库的初始化参数文件复制到备库,删除原有的日志归档目录项,并添加以下内容:log_archive_dest = e:\loglog_archive_trace = 6#定义日志跟踪层次standby_archive_dest = e:\log# 更改控制文件名control_Files = (“d:\oracle\oradata\orcl\stby_”)十 启动备用库将从主库复制过来的数据文件、控制文件复制到相应的位置,然后在备库上操作(此时备库处于关闭状态):SQL>connect internal/oracle as sysdbaSQL>startup nomountSQL>alter database mount standby database十一如果有日志序列的缺失,则先将主库的日志复制到备库日志目录,进行手工恢复SQL>recover automatic standby database;或者:SQL>recover standby database until cancel;查看日志序列是否有缺失的SQL语句:SQL>SELECT #, LowGap#, HighGap#FROM(SELECT thread#, MIN(sequence#)-1 HighGap#FROM(SELECT #, #FROMv$archived_log a,(SELECT thread#, MAX(next_change#) gap1FROM v$log_historyGROUP BY thread#) bWHERE # = #AND _change# > 1)GROUP BY thread#) high,(SELECT thread#, MIN(sequence#) LowGap#FROM(SELECT thread#, sequence#FROM v$log_history, v$datafileWHERE checkpoint_change# <= next_change#AND checkpoint_change# >= first_change#)GROUP BY thread#) lowWHERE # = # ;如果备库有日志序列缺失,则同一个thread#的LowGap# 与 HighGap# 不等。 如果没有日志序列缺失,那么选出空值或者是LowGap# 与 HighGap# 相同。 十二 将备库置于自管理模式SQL>recover managed standby database;此时,SQLPLUS窗口停止响应,直到取消备库自管理模式。 要取消备库的自管理模式的命令:SQL>recover managed standby database cancel;翻译摘抄自oracle 816随机文档,加上以自己的一些测试。

sql语句如何重命名表名和列名?

A. 重命名表 下例将表 customers 重命名为 custs。 EXEC sp_rename customers, custs B. 重命名列 下例将表 customers 中的列 contact title 重命名为 title。 EXEC sp_rename customers.[contact title], title, COLUMN

sql常用语句写法

1、说明:创建数据库

CREATE DATABASE database-name

2、说明:删除数据库

drop database dbname

3、说明:备份sql server

--- 创建 备份数据的 device

USE masterEXEC sp_addumpdevice ’disk’, ’testBack’, ’c:MSSQL7backupMyNwind_’

--- 开始 备份

BACKUP DATABASE pubs TO testBack

4、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根据已有的表创建新表:

A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only

5、说明:

删除新表:drop table tabname

6、说明:

数据库

增加一个列:Alter table tabname add column col type

注:列增加后将不能删除。 DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、说明:

添加主键:Alter table tabname add primary key(col)

说明:

删除主键:Alter table tabname drop primary key(col)

8、说明:

创建索引:create [unique] index idxname on tabname(col….)

删除索引:drop index idxname

注:索引是不可更改的,想更改必须删除重新建。

9、说明:

创建视图:create view viewname as select statement

删除视图:drop view viewname

10、说明:几个简单的基本的sql语句

选择:select * from table1 where 范围

插入:insert into table1(field1,field2) values(value1,value2)

删除:delete from table1 where 范围

更新:update table1 set field1=value1 where 范围

查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!

排序:select * from table1 order by field1,field2 [desc]

总数:select count * as totalcount from table1

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐