正如題目所說的一樣,今天就來說說易買網中的一些增刪改查,主要的功能有注冊、用戶管理以及商品分類等!
1.注冊
1.1 注冊涉及到了一個ajax遠端技術,主要是用來控制注冊用戶在數據庫中是否存在:
<script>
$(function(){
//焦點移出表單時
$("#userId").blur(function(){
ajax();
});
});
function ajax(){
//獲取用戶名
var uname=$("#userId").val();
if(uname!=""){
$.ajax({
url:'<%=path%>/servlet/DuCheckDoc',
type:'POST',
data:'name='+uname,
//data是從servlet回送的內容
success:function(data){
if(data=="true"){
$("#msg").html("不能注冊,該用戶名已存在").addClass("error");
}else{
$("#msg").html("可以注冊,用戶名尚未被注冊").addClass("error");
}
}
});
}
}
</script>
需要發送到下面這個servlet去判定是否存在
package servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.impl.UserNameImpl_wjl;
import entity.User;
public class DuCheckDoc extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
//ajax的遠端控制
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//解決中文亂碼
request.setCharacterEncoding("utf-8");
//實現usernameimpl類的對象
UserNameImpl_wjl impl=new UserNameImpl_wjl();
String uName=request.getParameter("name");
//String uName="admin111";
String msg=null;
if (uName!=null) {
try {
List<User> list=impl.getUserName();
for (User user : list) {
if (uName.equals(user.getUserId())) {
msg="true";
break;
}else {
msg="false";
}
}
} catch (Exception e) {
// 異常抓取
e.printStackTrace();
}
}
response.getWriter().print(msg);
}
}
1.2 注冊還有一個自己的servlet
package servlet;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.sql.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.impl.Registerimpl_wjl;
import entity.User;
public class RegisterServelt_wjl extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//處理亂碼
request.setCharacterEncoding("utf-8");
Registerimpl_wjl rdao=new Registerimpl_wjl();
String userId=request.getParameter("userId");
String userName=request.getParameter("userName");
String password=request.getParameter("password");
//String confirmPassword=request.getParameter("confirmPassword");
String sex=request.getParameter("sex");
String flag="T";
if (sex.equals("male")){
flag="F";
}
String btime=request.getParameter("birthday");
//轉化為日期
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date=new Date(format.parse(btime).getTime());
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String identityCode=request.getParameter("identityCode");
String email=request.getParameter("email");
String mobile=request.getParameter("mobile");
String address=request.getParameter("address");
User user=new User();
user.setAddress(address);
user.setUserId(userId);
user.setUserName(userName);
user.setEmail(email);
user.setMale(flag);
user.setIdentityCode(identityCode);
user.setPassword(password);
user.setMobile(mobile);
user.setBirthday(date);
boolean result=rdao.addRegister(user);
if (result) {
request.getRequestDispatcher("/reg-result.jsp").forward(request, response);
}else{
response.sendRedirect("/EasyBuy_H/register.jsp");
}
}
}
注冊sql語句
public boolean addRegister(User user) {
//insert into EASYBUY_USER values
//('傑克','普通用戶','ss','T','1983-02-14','130406198302141869',
//'hello@bdqn.com','15812345678','北京市海澱區成府路207號','1',DEFAULT)
String sql="insert into EASYBUY_USER values(?,?,?,?,?,?,?,?,?,?,default)";
Object[] paras={user.getUserId(),user.getUserName(),user.getPassword(),
user.getMale(),user.getBirthday(),user.getIdentityCode(),user.getEmail(),user.getMobile(),
user.getAddress(),user.getStatus()};
return executeUpdate(sql, paras);
}
2.用戶管理
2.1 根據上面的注冊用戶,新注冊用戶就會添加到用戶管理中,
2.2 用戶管理的增刪改查sql語句
//利用分頁進行查詢出整個表
public List<User> getAllUser(int pageIndex,int pageSize) throws Exception {
List<User> list=new ArrayList<User>();
String sql="select top "+pageSize+" * from EASYBUY_USER where identity_ID not in(select top "+(pageIndex-1)*pageSize+" identity_ID from EASYBUY_USER)";
ResultSet rs=executeSelect(sql);
if (rs!=null) {
while(rs.next()){
User user=new User();
user.setId(rs.getInt("identity_ID"));
user.setUserId(rs.getString("EU_USER_ID"));
user.setUserName(rs.getString("EU_USER_NAME"));
user.setMale(rs.getString("EU_SEX"));
user.setEmail(rs.getString("EU_EMAIL"));
user.setMobile(rs.getString("EU_MOBILE"));
user.setBirthday(rs.getDate("EU_BIRTHDAY"));
user.setAddress(rs.getString("EU_ADDRESS"));
user.setPassword(rs.getString("EU_PASSWORD"));
list.add(user);
}
}
return list;
}
//按用戶id查詢
public List<User> getAllUserToUserId(int id) throws Exception {
List<User> list=new ArrayList<User>();
String sql="select * from EASYBUY_USER where identity_ID=?";
Object[] paras={id};
ResultSet rs=executeSelect(sql,paras);
if (rs!=null) {
while(rs.next()){
User user=new User();
user.setUserId(rs.getString("EU_USER_ID"));
user.setUserName(rs.getString("EU_USER_NAME"));
user.setMale(rs.getString("EU_SEX"));
user.setEmail(rs.getString("EU_EMAIL"));
user.setMobile(rs.getString("EU_MOBILE"));
user.setBirthday(rs.getDate("EU_BIRTHDAY"));
user.setAddress(rs.getString("EU_ADDRESS"));
user.setPassword(rs.getString("EU_PASSWORD"));
list.add(user);
}
}
return list;
}
//修改用戶信息
public boolean getAllToUpdate(User user) throws Exception {
String sql="update EASYBUY_USER set EU_USER_ID=?,EU_USER_NAME=?,EU_SEX=?,EU_MOBILE=?,EU_ADDRESS=?,EU_PASSWORD=?,EU_BIRTHDAY=? where identity_ID=?";
Object[] paras={user.getUserId(),user.getUserName(),user.getMale(),user.getMobile(),user.getAddress(),user.getPassword(),user.getBirthday(),user.getId()};
return executeUpdate(sql,paras);
}
//按用戶編號刪除用戶
public boolean getAllToDelete(int id) {
String sql="delete from EASYBUY_USER where identity_ID=?";
Object[] paras={id};
return executeUpdate(sql, paras);
}
//總記錄數
public int getAllCount() throws Exception {
String sql="select COUNT(1) as num from EASYBUY_USER";
ResultSet rs=executeSelect(sql);
int result=0;
if (rs!=null) {
while(rs.next()){
result=rs.getInt("num");
}
}
return result;
}
2.3 用戶管理的servlet
package servlet;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import util.Page_hyj;
import dao.impl.Registerimpl_wjl;
import entity.News;
import entity.User;
public class UpdateUserServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* 修改用戶信息 */
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//處理亂碼
request.setCharacterEncoding("utf-8");
Registerimpl_wjl impl=new Registerimpl_wjl();
String opr=request.getParameter("opr");
if (opr.equals("list")) {
try{
// 開始分頁
// 實例化Page對象
Page_hyj page_hyj = new Page_hyj();
// .給定每頁要顯示幾條數據
int pagesize=3;
page_hyj.setPageSize(pagesize);
// .給總頁數賦值
int pageSum=0;
//總記錄數
int total=impl.getAllCount();
if (total%pagesize==0) {
pageSum=total/pagesize;
}else {
pageSum=total/pagesize+1;
}
page_hyj.setPageCount(pageSum);
// 當用戶還沒有點擊下一頁是默認顯示第一頁數據
int pageIndex = 1;
// 獲取下一頁超鏈接設置的pageIndex的值
String uindex = request.getParameter("pageIndex");
if (uindex != null) {
// 給page類中的pageIndex賦值:(uindex不為空的時候就證明了用戶點擊了下一頁,隨之頁面顯示的數據也就改變了)
pageIndex = Integer.parseInt(uindex);
}
//判斷是否符合顯示條件
if (pageIndex<1) {
pageIndex=1;
}else if (pageIndex>page_hyj.getPageCount()) {
pageIndex=page_hyj.getPageCount();
}
//當前頁數
page_hyj.setPageIndex(pageIndex);
// 給集合賦值
page_hyj.setListu(impl.getAllUser(page_hyj.getPageIndex(),page_hyj.getPageSize()));
// 設置作用域
request.setAttribute("pageIndex", pageIndex);
request.setAttribute("page", page_hyj);
request.getRequestDispatcher("/manage/user.jsp").forward(request, response);
} catch (Exception e) {
// 異常抓取
e.printStackTrace();
}
}
//點擊修改將數據加載到用戶修改界面
if (opr.equals("update")) {
String userid=request.getParameter("id");
int id=0;
if (!userid.equals("")&&userid!=null) {
id=Integer.parseInt(userid);
}
List<User> listf = null;
try {
listf = impl.getAllUserToUserId(id);
request.setAttribute("id",id);
request.setAttribute("listf",listf);
} catch (Exception e) {
// 異常抓取
e.printStackTrace();
}
request.getRequestDispatcher("/manage/user-modify.jsp").forward(request, response);
}
}
}
package servlet;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.sql.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.impl.Registerimpl_wjl;
import entity.User;
public class UpdateUserInfoServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* 修改用戶信息 */
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//處理亂碼
request.setCharacterEncoding("utf-8");
//調度 實例化 對象
Registerimpl_wjl impl=new Registerimpl_wjl();
String opr=request.getParameter("opr");
//修改
if (opr.equals("update")) {
String id=request.getParameter("sid");
//用戶名
String nameid=request.getParameter("userName");
//真實姓名
String name=request.getParameter("name");
//密碼
String passWord=request.getParameter("passWord");
//性別
String male=request.getParameter("sex");
//出生日期
String byear=request.getParameter("birthday");
//轉化為日期
SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
Date date =null;
User us=new User();
try {
date=new Date(sim.parse(byear).getTime());
us.setBirthday(date);
} catch (ParseException e1) {
// 抓取異常
e1.printStackTrace();
}
//手機
String mobile=request.getParameter("mobile");
//地址
String address=request.getParameter("address");
us.setId(Integer.parseInt(id));
us.setUserId(nameid);
us.setUserName(name);
us.setPassword(passWord);
us.setMale(male);
us.setMobile(mobile);
us.setAddress(address);
us.setStatus(1);
try {
boolean flag=impl.getAllToUpdate(us);
if (flag) {
//轉到更新界面
request.getRequestDispatcher("/manage/manage-result.jsp").forward(request, response);
}else {
//重定向到用戶管理界面在重新選擇
response.sendRedirect("/EasyBuy_H/manage/user.jsp");
}
} catch (Exception e) {
// 異常抓取
e.printStackTrace();
}
}
//獲取當前頁數
int pageIndex=1;
String uindex=request.getParameter("pageIndex");
if (uindex!=null) {
pageIndex = Integer.parseInt(uindex);
}
//刪除
if (opr.equals("del")) {
String userid=request.getParameter("id");
int uid=0;
if (userid!=null&&!(userid.equals(""))) {
uid=Integer.parseInt(userid);
}
boolean flag=impl.getAllToDelete(uid);
if (flag) {
//成功轉發
request.getRequestDispatcher("/servlet/UpdateUserServlet?opr=list&pageIndex="+pageIndex).forward(request, response);
}else{
//失敗轉發
response.getWriter().print("<script type='text/javascript'>"
+ "alert('刪除失敗');"
+"location.href='"+request.getContextPath() + "/servlet/UpdateUserServlet?opr=list&pageIndex="+pageIndex+"';"
+ "</script>");
}
}
}
}
2.4 在jsp中通過作用域轉發過來的數據
2.4.1 用戶管理的顯示界面、刪除界面
<div class="main">
<h2>用戶管理</h2>
<div class="manage">
<table class="list">
<tr>
<th>用戶名</th>
<th>真實姓名</th>
<th>性別</th>
<th>Email</th>
<th>手機</th>
<th>操作</th>
</tr>
<c:forEach items="${page.listu}" var="item">
<tr>
<td class="first w4 c">${item.userId}</td>
<td class="w1 c">${item.userName}</td>
<td class="w2 c">
<c:choose>
<c:when test="${item.male eq 'T'}">
男
</c:when>
<c:when test="${item.male eq 'F'}">
女
</c:when>
</c:choose>
</td>
<td>${item.email}</td>
<td class="w4 c">${item.mobile}</td>
<td class="w1 c"><a href="<%=path %>/servlet/UpdateUserServlet?opr=update&id=${item.id}">修改</a> <a id="manageDel" href="<%=path %>/servlet/UpdateUserInfoServlet?id=${item.id}&opr=del&pageIndex=${pageIndex}">刪除</a></td>
</tr>
</c:forEach>
</table>
</div>
</div>
<div class="clear"></div>
<div class="pager">
<ul class="clearfix">
<li><a href="<%=path%>/servlet/UpdateUserServlet?opr=list&pageIndex=1">首頁</a></li>
<li class="current"><a href="<%=path%>/servlet/UpdateUserServlet?opr=list&pageIndex=${page.pageIndex-1}">上一頁</a></li>
<li>${page.pageIndex}/${page.pageCount}</li>
<li class="current"><a href="<%=path%>/servlet/UpdateUserServlet?opr=list&pageIndex=${page.pageIndex+1}">下一頁</a></li>
<li><a href="<%=path%>/servlet/UpdateUserServlet?opr=list&pageIndex=${page.pageCount}">尾頁</a></li>
</ul>
</div>
</div>
2.4.2 修改界面
<form action="<%=path %>/servlet/UpdateUserInfoServlet?opr=update&sid=${id}" method="post">
<c:forEach items="${listf}" var="item">
<table class="form">
<tr>
<td class="field">用戶名(*):</td>
<td><input type="text" class="text" name="userName" value="${item.userId}" readonly="readonly" /></td>
</tr>
<tr>
<td class="field">真實姓名(*):</td>
<td><input type="text" class="text" name="name" value="${item.userName}" /></td>
</tr>
<tr>
<td class="field">登錄密碼(*):</td>
<td><input type="text" class="text" name="passWord" value="${item.password}" /></td>
</tr>
<tr>
<td class="field">確認密碼(*):</td>
<td><input type="text" class="text" name="passWord" value="${item.password}" /></td>
</tr>
<tr>
<td class="field">性別(*):</td>
<td>
<c:choose>
<c:when test="${item.male eq 'T'}">
<input type="radio" name="sex" value="T" checked="checked" />男
<input type="radio" name="sex" value="F" />女
</c:when>
<c:otherwise>
<input type="radio" name="sex" value="T" />男
<input type="radio" name="sex" value="F" checked="checked"/>女
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<td class="field">出生日期:</td>
<td><input id="birthday" class="text" type="text" name="birthday" value="${item.birthday}"/><span></span></td>
</tr>
<tr>
<td class="field">手機(*):</td>
<td><input type="text" class="text" name="mobile" value="${item.mobile}" /></td>
</tr>
<tr>
<td class="field">地址(*):</td>
<td><input type="text" class="text" name="address" value="${item.address}" /></td>
</tr>
<tr>
<td></td>
<td><label class="ui-blue"><input type="submit" name="submit" value="更新" /></label></td>
</tr>
</table>
</c:forEach>
</form>
3. 商品分類
3.1 用於顯示
//解決中文亂碼問題
request.setCharacterEncoding("utf-8");
//查詢商品分類的對象
ProoductCategoryDaoImpl_hyj impl=new ProoductCategoryDaoImpl_hyj();
ProductImpl_wjl dao=new ProductImpl_wjl();
String opr=request.getParameter("opr");
if (opr.equals("listinfo")) {
try {
//List<ProductCategory> listfrist=impl.getAllOneLeveInfo(0);
List<ProductCategory> listsecond=impl.getAllTowLeveInfo(0);
//request.setAttribute("levellist",listfrist);
request.setAttribute("levelslist",listsecond);
// 開始分頁
// 實例化Page對象
Page_hyj page_hyj = new Page_hyj();
// .給定每頁要顯示幾條數據
int pagesize=1;
page_hyj.setPageSize(pagesize);
// .給總頁數賦值
int pageSum=0;
//總記錄數
int total=dao.getAllCount();
if (total%pagesize==0) {
pageSum=total/pagesize;
}else {
pageSum=total/pagesize+1;
}
page_hyj.setPageCount(pageSum);
// 當用戶還沒有點擊下一頁是默認顯示第一頁數據
int pageIndex = 1;
// 獲取下一頁超鏈接設置的pageIndex的值
String uindex = request.getParameter("pageIndex");
if (uindex != null) {
// 給page類中的pageIndex賦值:(uindex不為空的時候就證明了用戶點擊了下一頁,隨之頁面顯示的數據也就改變了)
pageIndex = Integer.parseInt(uindex);
}
//判斷是否符合顯示條件
if (pageIndex<1) {
pageIndex=1;
}else if (pageIndex>page_hyj.getPageCount()) {
pageIndex=page_hyj.getPageCount();
}
//當前頁數
page_hyj.setPageIndex(pageIndex);
// 給集合賦值
page_hyj.setListc(dao.getAllTowLeveInfo(page_hyj.getPageIndex(),page_hyj.getPageSize()));
// 設置作用域
request.setAttribute("pageIndex",pageIndex);
request.setAttribute("page", page_hyj);
request.getRequestDispatcher("/manage/productClass.jsp").forward(request,response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//修改將數據加載到修改頁面
if (opr.equals("update")) {
String id=request.getParameter("id");
String epcid=request.getParameter("epcid");
try {
List<ProductCategory> listfrist=impl.getAllOneLeveInfo(0);
request.setAttribute("levellist",listfrist);
request.setAttribute("rid",id);
List<ProductCategory> listsecond = impl.getAllTowLeveInfo(0);
request.setAttribute("levelslist",listsecond);
request.setAttribute("epcid",epcid);
request.getRequestDispatcher("/manage/productClass-modify.jsp").forward(request,response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//新增二級分類
if (opr.equals("add")) {
try {
List<ProductCategory> listfrist=impl.getAllOneLeveInfo(0);
request.setAttribute("levellist",listfrist);
request.getRequestDispatcher("/manage/productClass-add.jsp").forward(request,response);
} catch (Exception e) {
// 錯誤異常
e.getMessage();
}
}
3.2 返回list泛型的dao方法
public List<ProductCategory> getAllTowLeveInfo(int epcid)
throws Exception {
List<ProductCategory> list=new ArrayList<ProductCategory>();
String sql="";
ResultSet rs=null;
if(epcid==0){
sql+="select EPC_ID,EPC_NAME ,EPC_PARENT_ID from EASYBUY_PRODUCT_CATEGORY where EPC_ID!=EPC_PARENT_ID";
rs= executeSelect(sql);
}else{
sql+="select * from EASYBUY_PRODUCT_CATEGORY where EPC_ID=?";
Object[] paObjects={epcid};
rs= executeSelect(sql,paObjects);
}
if(rs!=null){
while(rs.next()){
ProductCategory pc=new ProductCategory();
pc.setId(rs.getInt("EPC_ID"));
pc.setName(rs.getString("EPC_NAME"));
pc.setParentId(rs.getInt("EPC_PARENT_ID"));
list.add(pc);
}
}
closeAll();
return list;
}
3.3 執行具體的修改以及刪除
public class ProductSonServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* 修改單個選中商品分類*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//解決中文亂碼問題
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
//查詢商品分類的對象
ProductImpl_wjl dao=new ProductImpl_wjl();
String opr=request.getParameter("opr");
//點擊修改 將數據加載到商品分類中
if (opr.equals("updateName")) {
System.out.println(opr);
String name=request.getParameter("className"); //獲取商品分類名稱
String parentId=request.getParameter("parentId");//一級分類的選中數據
//二級分類
String sid=request.getParameter("sid");
int parentid=0;
if (parentId!=null&&(!parentId.equals(""))){
parentid=Integer.parseInt(parentId);
}
ProductCategory pro=new ProductCategory();
pro.setId(Integer.parseInt(sid));
pro.setName(name);
pro.setParentId(parentid);
boolean flag=dao.getProductToEpcid(pro);
if (flag) {
request.getRequestDispatcher("/manage/manage-result.jsp").forward(request,response);
}
}
//獲取選中條的epcid
String id=request.getParameter("epcid");
int epcid=0;
if (id!=null&&(!id.equals(""))) {
epcid=Integer.parseInt(id);
}
//獲取當前頁數
int pageIndex=1;
String uindex=request.getParameter("pageIndex");
if (uindex != null) {
pageIndex = Integer.parseInt(uindex);
}
//刪除子類
if (opr.equals("delete")) {
try {
int count=dao.getCountTwo(epcid);
String name=dao.twoName(epcid);
if (count<1) {
boolean flag=dao.delProductToEpcid(epcid);
if (flag) {
request.getRequestDispatcher("/servlet/ProductServletInfo_wjl?opr=listinfo&pageIndex="+pageIndex).forward(request,response);
}
}else{
response.getWriter().print("<script type='text/javascript'>"
+ "alert('當前"+name+"二級分類下還有商品,暫時不能刪除該類');"
+"location.href='"+request.getContextPath() + "/servlet/ProductServletInfo_wjl?opr=listinfo&pageIndex="+pageIndex+"';"
+ "</script>");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//點擊刪除父類
if (opr.equals("del")) {
try {
int count=dao.getHaveSons(epcid);
String name=dao.parentName(epcid);
if (count>1) {
System.out.println(name);
response.getWriter().print("<script type='text/javascript'>"
+ "alert('當前"+name+"分類下還有子類');"
+"location.href='"+request.getContextPath() + "/servlet/ProductServletInfo_wjl?opr=listinfo&pageIndex="+pageIndex+"';"
+ "</script>");
}else{
boolean flag=dao.delAllProduct(epcid);
if (flag) {
request.getRequestDispatcher("/servlet/ProductServletInfo_wjl?opr=listinfo&pageIndex="+pageIndex).forward(request,response);
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//新增二級分類
if (opr.equals("addinfo")) {
String parentId=request.getParameter("parentId");
String className=request.getParameter("className");
//一級分類id
int pid=0;
//二級分類id
int sid=0;
try {
if (parentId!=null&&(!parentId.equals(""))) {
pid=Integer.parseInt(parentId);
}
ProductCategory pro=new ProductCategory();
pro.setName(className);
pro.setParentId(pid);
boolean flag=dao.addOneClass(pro);
if (pid==0) {
System.out.println("新增一級分類");
List<ProductCategory> list=dao.getAllTowLeveInfo();
for (ProductCategory item : list) {
sid=item.getId();
}
pro.setId(sid);
flag=dao.addParentClass(pro);
}
if (flag) {
request.getRequestDispatcher("/manage/manage-result.jsp").forward(request,response);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
3.4 jsp界面轉發回來
3.4.1 顯示、刪除的jsp
<div class="main">
<h2>分類管理</h2>
<div class="manage">
<table class="list">
<tr>
<th>編號</th>
<th>分類名稱</th>
<th>操作</th>
</tr>
<c:forEach items="${page.listc}" var="item">
<tr>
<td class="first w4 c">${item.id}</td>
<td>${item.name}</td>
<td class="w1 c"><a href="<%=path %>/servlet/ProductServletInfo_wjl?opr=update&&id=${item.id}&epcid=${item.id}">修改</a>
<a class="manageDel" href="<%=path %>/servlet/ProductSonServlet?opr=del&epcid=${item.parentId}&pageIndex=${pageIndex}">刪除</a></td>
</tr>
<c:forEach items="${levelslist}" var="itemSon">
<c:choose>
<c:when test="${item.parentId eq itemSon.parentId }">
<tr>
<td class="first w4 c">${itemSon.id}</td>
<td class="childClass">${itemSon.name}</td>
<td class="w1 c"><a href="<%=path %>/servlet/ProductServletInfo_wjl?opr=update&id=${itemSon.parentId}&epcid=${itemSon.id}">修改</a>
<a class="manageDel" href="<%=path %>/servlet/ProductSonServlet?opr=delete&epcid=${itemSon.id}&pageIndex=${pageIndex}">刪除</a></td>
</tr>
</c:when>
</c:choose>
</c:forEach>
</c:forEach>
</table>
</div>
<div></div>
</div>
<div class="clear"></div>
<div class="pager">
<ul class="clearfix">
<li><a href="<%=path%>/servlet/ProductServletInfo_wjl?opr=listinfo&&pageIndex=1">首頁</a></li>
<li><a href="<%=path%>/servlet/ProductServletInfo_wjl?opr=listinfo&&pageIndex=${page.pageIndex-1}">上一頁</a></li>
<li>${page.pageIndex}/${page.pageCount}</li>
<li><a href="<%=path%>/servlet/ProductServletInfo_wjl?opr=listinfo&&pageIndex=${page.pageIndex+1}">下一頁</a></li>
<li><a href="<%=path%>/servlet/ProductServletInfo_wjl?opr=listinfo&&pageIndex=${page.pageCount}">尾頁</a></li>
</ul>
</div>
</div>
3.4.2 執行修改
<div class="main">
<h2>修改分類</h2>
<div class="manage">
<form action="<%=path %>/servlet/ProductSonServlet?opr=updateName&sid=${epcid}" method="post">
<table class="form">
<tr>
<td class="field">父分類:</td>
<td>
<select name="parentId">
<c:forEach items="${levellist}" var="item">
<c:if test="${item.id eq rid}">
<option value="${item.id}" selected="selected">${item.name}</option>
</c:if>
<c:if test="${item.id != rid}">
<option value="${item.id}">${item.name}</option>
</c:if>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td class="field">分類名稱:</td>
<c:forEach items="${levellist}" var="item">
<c:if test="${item.id eq epcid}">
<td><input type="text" class="text" name="className" value="${item.name}" /></td>
</c:if>
</c:forEach>
<c:forEach items="${levelslist}" var="items">
<c:if test="${items.parentId eq rid}">
<c:if test="${items.id eq epcid}">
<td><input type="text" class="text" name="className" value="${items.name}" /></td>
</c:if>
</c:if>
</c:forEach>
</tr>
<tr>
<td></td>
<td><label class="ui-blue"><input type="submit" name="submit" value="更新" /></label></td>
</tr>
</table>
</form>
</div>
</div>
<div class="clear"></div>
</div>
3.4.3 執行新增的jsp界面
<div class="main">
<h2>添加分類</h2>
<div class="manage">
<form action="<%=path %>/servlet/ProductSonServlet?opr=addinfo" method="post">
<table class="form">
<tr>
<td class="field">父分類:</td>
<td>
<select name="parentId">
<option value="0" selected="selected">根欄目</option>
<c:forEach items="${levellist}" var="item">
<option value="${item.parentId}">${item.name}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td class="field">分類名稱:</td>
<td><input type="text" class="text" name="className" value="" /></td>
</tr>
<tr>
<td></td>
<td><label class="ui-blue"><input type="submit" name="submit" value="新增" /></label></td>
</tr>
</table>
</form>
</div>
</div>
<div class="clear"></div>
</div>
好了,功能暫時就這麼多了,如有不足之處,請多多提出你的建議,謝謝。