隐藏域传值
隐藏域可放在form表单的开始标签和结束标签之间 可写多个隐藏域传值会随着表单的提交而传值 根据name 值取value值
<input name="nid" type="hidden" value="<%=nid %>" />
接收隐藏域传过来的值 根据name 取value值
地址栏传值
<a href="/Web04/news/read.jsp?nid=<%=rs.getInt(1)%>"
?键=值 多个则用&拼接
文本框默认选中
<!-- <option value="11" selected="selected">呵呵</option> -->
删除界面
代码如下:先找到id
//接收nid request
String nid=request.getParameter("nid");
//jdbc连接Oracle 查询新闻信息:新闻编号 标题 作者
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
//定义sql语句
String sql="delete news where nid="+nid;
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//给占位符赋值
//ps.setInt(1, Integer.parseInt(nid));
//开始执行
int n=ps.executeUpdate();
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
//判断
if(n>0){
//删除成功
response.sendRedirect("/Web04/news/admin.jsp");
}else{
//删除失败
out.print("<script>alert('删除成功');location.href='admin.jsp'<script>");
}
修改界面:与删除相同先找到id
传值
代码如下:
//接收从admin传过来的nid
String nid=request.getParameter("nid");
//根据nid找到信息
//jdbc连接Oracle 查询新闻信息:新闻编号 标题 作者
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
//定义sql语句
String sql="select * from news where nid="+nid;
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//扩大作用域
ResultSet rs=ps.executeQuery();
String ntitle="";//标题
String nauthor="";//作者
String nsummary="";//摘要
String ncontent="";//内容
int tid=0;
//遍历结果集
if(rs.next()){
tid=rs.getInt(2);
ntitle=rs.getString(3);
nauthor=rs.getString(4);
nsummary=rs.getString(5);
ncontent=rs.getString(6);
}
//设置编码方式
request.setCharacterEncoding("utf-8");
//接收表单的值
String nid=request.getParameter("nid");//没传值
String ntid=request.getParameter("ntid");
String ntitle=request.getParameter("ntitle");
String nauthor=request.getParameter("nauthor");
String nsummary=request.getParameter("nsummary");
String ncontent=request.getParameter("ncontent");
String naddtime=new Date().toLocaleString();//取系统当前时间
//两个属性
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//OracleDriver
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott","tiger");
//定义sql语句
String sql="update news set tid=?,ntitle=?,nauthor=?,nsummary=?,ncontent=?,naddtime=? where nid=?";
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//开始执行增加操作
//重新执行sql语句
ps=con.prepareStatement(sql);
//给占位符赋值
ps.setInt(1, Integer.parseInt(ntid));
ps.setString(2, ntitle);
ps.setString(3, nauthor);
ps.setString(4, nsummary);
ps.setString(5, ncontent);
ps.setString(6, naddtime);
ps.setInt(7, Integer.parseInt(nid));
//开始执行
int n=ps.executeUpdate();//影响行数
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
//判断
if(n>0){
//修改成功
response.sendRedirect("/Web04/news/admin.jsp");
}else{
//发表失败
out.print("<script>alert('修改失败');location.href='update.jsp';<script>");
}