admin 管理员组文章数量: 887053
2023年12月23日发(作者:苏卿陆容渊全文免费阅读)
struts2 增删改查功能实现
先看下总体项目
这是用户登陆表
这是用户信息表
1.在用户输入用户名和密码登陆之后,我们可以直接调用一个查询所有用户信息的方法,这样就可以查看到所有用户信息了,所要做的就是要写多个方法来执行,然后返回给页面显示(在这里我没有做分页演示),大家要有耐心的看哦,代码有点多。。。
------------------------------action类代码--------------------------
package ;
import tion;
import Set;
import ent;
import DateFormat;
import ist;
import ;
import ssion;
import tActionContext;
import ;
import ;
import Support;
@SuppressWarnings("serial")
public class action extends ActionSupport {
private String username;//注意这里跟 form里面的name属性要对应
private String password;
private String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
= msg;
}
//然后生成setting getting
public String getUsername() {
return username;
}
public void setUsername(String username) {
me = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
rd = password;
}
//自己写个方法来执行登陆
public String login() throws Exception {
Connection conn = nection();// 这是用来连通数据库,记得,要下载个驱动程序,mysql
Statement stmt = null;
ResultSet rs1 = null;
ResultSet rs2 = null;
try {
stmt = Statement();
String sql1 = "select * from userinfomation where username='"
+ me + "'";
rs1 = eQuery(sql1);
if (!()) {
// 判断用户名是不是 存在,如果不是则输出信息,返回界面
= "用户名不正确!";
return "Error";
} else {
String sql2 = "select * from userinfomation where password='"
+ rd + "'";
rs2 = eQuery(sql2);
if (!()) {
// 判断密码是不是存在,如果不是则输出信息,返回界面
= "密码不正确!";
return "Error";
}
}
();
();
();
();
} catch (Exception e) {
tackTrace();
}
//当上面验证成功了,调用下面的query方法,查出所有用户信息
return query();
}
//这里是用来输出所有用户信息
public String query() throws Exception {
Connection conn = nection();// 这是用来连通数据库,记得,要下载个驱动程序,mysql
Statement stmt = null;
try {
stmt = Statement();
String sql = "select * from dep"; // 从另一张表查出信息
ResultSet rs = eQuery(sql);
List
while (()) {
depDto dt = new depDto(); // 引进depDto
(("id"));
e(ing("name"));
(ing("sex"));
e(ing("time"));// 这里你可以按你需要取出数据库的列的值
(dt);// 把值添加到list里面
}
//在这我们可以输出数据库里面有多少条记录
n("数据库里面有"+()+"条记录");
// 把list 放到session中,传回给页面,所以页面只需接收listAll就可以了
HttpSession session = uest()
.getSession();
ribute("listAll", list);
();
();
();
} catch (Exception e) {
tackTrace();
}
return "query";
}
//这里是添加信息的功能
public String add() throws Exception{
//首先要接收页面传过来的值
String name=uest().getParameter("name");
String sex=uest().getParameter("sex");
date = new ();
String time="";
SimpleDateFormat s = new SimpleDateFormat("yyyy年-MM月dd日-HH:mm:ss");
time=(date);
//如果输出是乱码的话,就要转码了
n(name+sex+time);
Connection conn = nection();
Statement stmt = null;
try {
stmt=Statement();
String sql = "insert into dep(name,sex,time) values('"+name+ "','"+
sex+"','"+time+"')";
int i=eUpdate(sql);
if(i==0){
n("添加失败");
}else{
n("添加成功");
}
();
();
} catch (Exception e) {
tackTrace();
}
//return "add"; 如果你是返回这个,那么页面没有跟新到你新增的信息,所以在返回时要在查询一遍,也就是下面的方法
return query();
}
//删除用户
public String del() throws Exception{
String id=uest().getParameter("id");
n(id);
int i=nt(id);
Connection conn = nection();
Statement stmt = null;
try {
stmt=Statement();
String sql = "delete from dep where id="+i;
int a=eUpdate(sql);
if(a==0){
n("删除失败");
}
();
();
} catch (Exception e) {
tackTrace();
}
return query();
}
//修改用户信息
public String update() throws Exception{
//修改用户信息,首先要接收到要修改哪个用户的ID,然后返回给页面,给显示出该用户的所有信息
String id=uest().getParameter("id");
n(id);
int i=nt(id);
Connection conn = nection();
Statement stmt = null;
try {
stmt=Statement();
String sql = "select * from dep where id="+i;
ResultSet rs=eQuery(sql);
List
while (()) {
depDto dt = new depDto(); // 引进depDto
(("id"));
e(ing("name"));
(ing("sex"));
e(ing("time"));
(dt);// 把值添加到list里面
}
HttpSession session = uest()
.getSession();
ribute("list", list);
();
();
();
} catch (Exception e) {
tackTrace();
}
return "update";
}
//接受修改页面传过来的值
public String update1() throws Exception{
//我在这只接受sex ,id 如果没有ID的话,就会把全部更新了,不是我们想要的效果
String sex=uest().getParameter("sex");
String id=uest().getParameter("id");
int i=nt(id);
n(sex);
Connection conn=nection();
Statement stmt=null;
try {
stmt=Statement();
String sql="update dep set sex='"+sex+"' where id="+i;
eUpdate(sql);
();
();
} catch (Exception e) {
tackTrace();
}
return query();
}
}
--------------------------------------------------------------depDto-------------------------------------------------------------------------------
代码
package ;
public class depDto {
private int id;
private String name;
private String sex;
private String time;
//生成setting和getting 方法
public int getId() {
return id;
}
public void setId(int id) {
= id;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
= sex;
}
public String getTime() {
return time;
}
public void setTime(String time) {
= time;
}
}
2.-------------------------------类写好了,就要配置好XML-------------------------------
Configuration 2.1//EN" "/dtds/">
3.------------------------------------------------接着就是页面显示代码和添加页面的代码了----------------------------------------------------
------简要说明下,这里是使用了struts2的iterator来循环输出,"#l"
是从action类传回来的listAll-------
页面代码
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
用户信息 | |||
number | name | sex | operate onClick="=''"> |
value="#+1"/> | onclick="='login!?id='+ value="id"/>"> ]吗?')==true){='login!?id='+ value="id"/>}"> |
-----------------------------------------------------------------------------
页面代码
<%@ page language="java" import=".*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
增加信息
项目 | 录入 |
name
|
|
sex |
男
女
|
onclick="='javascript:(-1)'">
---------------------------------------------------------------------------------
登陆界面的代码
<%@ page language="java" import=".*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
登陆界面 | |
cssStyle="width:160px;height:20"> | |
cssStyle="width:160px;height:20"> | |
align="left" theme="simple"> align="left" theme="simple"> |
==================================================
更新页面
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%@ taglib uri="/jsp/jstl/core" prefix="c"%>
修改
项目 | 录入 |
name
|
|
sex |
男
女
|
Time
|
|
onclick="='javascript:(-1)'">
是挺多的,大家可以学习下,打了好久啊。。。支持下吧。。。。。。。。。。。
如果是sql数据库的也是可以的
只要把里面的那个连接数据库的类改下就可以了:看代码
public class DBConnection {
//创建连接
public static Connection getConnection() {
Connection DBconn = null;
try {
e("verDriver");
String url = "jdbc:sqlserver://localhost:1433;databasename=Oexam"; //Oexam为数据库名称
String user = "sa";//用户名
String password = "123";//用户名密码
DBconn = nection(url, user, password);
} catch (ClassNotFoundException e1) {
n("驱动程序加载错误");
} catch (SQLException e2) {
n("数据库连接时错误");
} catch (Exception e3) {
tackTrace();
}
return DBconn;
}
//关门连接
public static void clear(Connection DBconn) {
if (DBconn != null) {
try {
();
} catch (SQLException e) {
tackTrace();
}
}
}
版权声明:本文标题:struts2增删改查功能 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703304936h446205.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论