急急急问题很严重
1.可正常进入list.do页面

2.当删除复古类时报错
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.imooc.icake.global.GlobalController.service(GlobalController.java:56)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.imooc.icake.global.EncodingFilter.doFilter(EncodingFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`icake`.`cake`, CONSTRAINT `FK_Reference_1` FOREIGN KEY (`cid`) REFERENCES `catalog` (`id`))
### The error may exist in com/imooc/icake/dao/CatalogDao.java (best guess)
### The error may involve com.imooc.icake.dao.CatalogDao.delete-Inline
### The error occurred while setting parameters
### SQL: delete from catalog where id=?
### Cause: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`icake`.`cake`, CONSTRAINT `FK_Reference_1` FOREIGN KEY (`cid`) REFERENCES `catalog` (`id`))
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:199)
at org.apache.ibatis.session.defaults.DefaultSqlSession.delete(DefaultSqlSession.java:212)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:72)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
at com.sun.proxy.$Proxy14.delete(Unknown Source)
at com.imooc.icake.biz.impl.CatalogBizImpl.remove(CatalogBizImpl.java:21)
at com.imooc.icake.controller.CatalogController.remove(CatalogController.java:51)
... 30 more
Caused by: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`icake`.`cake`, CONSTRAINT `FK_Reference_1` FOREIGN KEY (`cid`) REFERENCES `catalog` (`id`))
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:974)
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:391)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
... 36 more
3.添加分类时

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.imooc.icake.global.GlobalController.service(GlobalController.java:56)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.imooc.icake.global.EncodingFilter.doFilter(EncodingFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.jasper.JasperException: 在 [42] 行处理 [/WEB-INF/pages/admin/catalog_add.jsp] 时发生异常
39: <c:forEach items="${root.children}" var="cat1">
40: <option value="${cat1.id}"> ${cat1.title}</option>
41: <c:forEach items="cat1.children" var="cat2">
42: <option value="${cat2.id}"> ${cat2.title}</option>
43: </c:forEach>
44: </c:forEach>
45:
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:470)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316)
at com.imooc.icake.controller.CatalogController.toAdd(CatalogController.java:28)
... 30 more
Caused by: javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[id]
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:260)
at javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:212)
at javax.el.BeanELResolver.property(BeanELResolver.java:333)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:92)
at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:113)
at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:944)
at org.apache.jsp.WEB_002dINF.pages.admin.catalog_005fadd_jsp._jspx_meth_c_005fforEach_005f1(catalog_005fadd_jsp.java:311)
at org.apache.jsp.WEB_002dINF.pages.admin.catalog_005fadd_jsp._jspx_meth_c_005fforEach_005f0(catalog_005fadd_jsp.java:263)
at org.apache.jsp.WEB_002dINF.pages.admin.catalog_005fadd_jsp._jspService(catalog_005fadd_jsp.java:164)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
... 43 more
package com.imooc.icake.global;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class GlobalController extends GenericServlet {
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
/*
.do
/login.do DefaultController login
/Cake/detail.do CakeController detail
/admin/Cake/add.do CakeController add
*/
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)res;
String path = request.getServletPath();
//判断后台操作还是前端操作
if(path.indexOf("/admin")!=-1){
//后台
path = path.substring(7);
}else {
path = path.substring(1);
}
/*
login.do DefaultController login
Cake/detail.do CakeController detail
Cake/add.do CakeController add
*/
//判断是否模块
int index = path.indexOf("/");
String className = null;
String methodName = null;
if (index!=-1){
//带有模块
className = "com.imooc.icake.controller."+path.substring(0,index)+"Controller";
methodName = path.substring(index+1,path.indexOf(".do"));
}else{
className = "com.imooc.icake.controller.DefaultController";
methodName = path.substring(0,path.indexOf(".do"));
}
try {
//反射调用方法
Class cla = Class.forName(className);
Object object = cla.newInstance();
Method method = cla.getMethod(methodName,HttpServletRequest.class,HttpServletResponse.class);
method.invoke(object,request,response);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}package com.imooc.icake.global;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
public class DaoFactory {
private static DaoFactory daoFactory;
private SqlSessionFactory sessionFactory;
private DaoFactory() {
try {
SqlSessionFactoryBuilder sessionFactoryBuilder = new SqlSessionFactoryBuilder();
sessionFactory = sessionFactoryBuilder.build(Resources.getResourceAsReader("/mybatis.xml"));
} catch (Exception e) {
e.printStackTrace();
}
}
public static DaoFactory getInstance() {
try{
if (daoFactory==null)
daoFactory = new DaoFactory();
}catch (Exception e){
e.printStackTrace();
}
return daoFactory;
}
public <T>T getDao(Class<T> tClass){
return sessionFactory.openSession(true).getMapper(tClass);
}
}package com.imooc.icake.dao;
import com.imooc.icake.entity.Catalog;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface CatalogDao {
@Insert("<script>"+
"insert into catalog(title,pid,info) values"+
"<foreach collection='list' item='catalog' separator=','>"+
"(#{catalog.title},#{catalog.pid},#{catalog.info})"+
"</foreach>"+
"</script>")
@Options(useGeneratedKeys = true,keyProperty = "id")
void batchInsert(List<Catalog> list);
@Delete("delete from catalog where id=#{id}")
void delete(int id);
@Select("select * from catalog where id=#{id}")
@Results(id = "all",value = {
@Result(column = "id",property = "id",id = true),
@Result(column = "title",property = "title"),
@Result(column = "pid",property = "pid"),
@Result(column = "info",property = "info"),
@Result(column = "id",property = "children",many=@Many(select = "selectByPid"))
})
Catalog select(int id);
@Select("select * from catalog where pid=#{pid}")
@ResultMap("all")
List<Catalog> selectByPid(int pid);
}package com.imooc.icake.biz.impl;
import com.imooc.icake.biz.CatalogBiz;
import com.imooc.icake.dao.CatalogDao;
import com.imooc.icake.entity.Catalog;
import com.imooc.icake.global.DaoFactory;
import java.io.IOException;
import java.util.List;
public class CatalogBizImpl implements CatalogBiz {
private CatalogDao catalogDao = DaoFactory.getInstance().
getDao(CatalogDao.class);
public void add(List<Catalog> list) {
catalogDao.batchInsert(list);
}
public void remove(int id) {
catalogDao.delete(id);
}
public Catalog getRoot() {
return catalogDao.select(10000);
}
}package com.imooc.icake.controller;
import com.imooc.icake.biz.CatalogBiz;
import com.imooc.icake.biz.impl.CatalogBizImpl;
import com.imooc.icake.entity.Catalog;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CatalogController {
private CatalogBiz catalogBiz = new CatalogBizImpl();
// /admin/Catalog/list.do
public void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Catalog root = catalogBiz.getRoot();
request.setAttribute("root",root);
request.getRequestDispatcher("/WEB-INF/pages/admin/catalog_list.jsp").forward(request,response);
}
// /admin/Catalog/toAdd.do
public void toAdd(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Catalog root = catalogBiz.getRoot();
request.setAttribute("root",root);
request.getRequestDispatcher("/WEB-INF/pages/admin/catalog_add.jsp").forward(request,response);
}
// /admin/Catalog/add.do
public void add(HttpServletRequest request, HttpServletResponse response) throws IOException {
String[] titles = request.getParameterValues("title");
String[] pids = request.getParameterValues("pid");
String[] infos = request.getParameterValues("info");
List<Catalog> list = new ArrayList<Catalog>();
for (int i=0;i<titles.length;i++){
Catalog catalog = new Catalog();
catalog.setTitle(titles[i]);
catalog.setPid(Integer.parseInt(titles[i]));
catalog.setInfo(infos[i]);
list.add(catalog);
}
catalogBiz.add(list);
response.sendRedirect("list.do");
}
// /admin/Catalog/remove.do
public void remove(HttpServletRequest request, HttpServletResponse response) throws IOException {
int id = Integer.parseInt(request.getParameter("id"));
catalogBiz.remove(id);
response.sendRedirect("list.do");
}
}<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:include page="top.jsp"/>
<section id="content_wrapper">
<section id="content" class="table-layout animated fadeIn">
<div class="tray tray-center">
<div class="content-header">
<h2> 分类管理</h2>
<p class="lead"></p>
</div>
<div class="admin-form theme-primary mw1000 center-block" style="padding-bottom: 175px;">
<div class="panel heading-border">
<div class="panel-menu">
<div class="row">
<div class="hidden-xs hidden-sm col-md-3">
<div class="btn-group">
<button type="button" class="btn btn-default light">
<i class="fa fa-trash"></i>
</button>
<button type="button" class="btn btn-default light">
<i class="fa fa-plus" onclick="javascript:window.location.href='/admin/Catalog/toAdd.do';"></i>
</button>
</div>
</div>
</div>
</div>
<div class="panel-body pn">
<table id="message-table" class="table admin-form theme-warning tc-checkbox-1">
<thead>
<tr class="">
<th class="text-center hidden-xs">Select</th>
<th class="hidden-xs">名称</th>
<th class="hidden-xs">描述</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${root.children}" var="cat1">
<tr class="message-unread">
<td class="hidden-xs">
<label class="option block mn">
<input type="checkbox" name="mobileos" value="FR">
<span class="checkbox mn"></span>
</label>
</td>
<td>${cat1.title}</td>
<td>${cat1.info}</td>
<td>
<a href="/admin/Catalog/remove.do?id=${cat1.id}">删除</a>
</td>
</tr>
<c:forEach items="${cat1.children}" var="cat2">
<tr class="message-unread">
<td class="hidden-xs">
<label class="option block mn">
<input type="checkbox" name="mobileos" value="FR">
<span class="checkbox mn"></span>
</label>
</td>
<td style="padding-left: 50px;">${cat2.title}</td>
<td>${cat2.info}</td>
<td>
<a href="/admin/Catalog/remove.do?id=${cat2.id}">删除</a>
</td>
</tr>
<c:forEach items="${cat2.children}" var="cat3">
<tr class="message-unread">
<td class="hidden-xs">
<label class="option block mn">
<input type="checkbox" name="mobileos" value="FR">
<span class="checkbox mn"></span>
</label>
</td>
<td style="padding-left: 100px;">${cat3.title}</td>
<td>${cat3.info}</td>
<td>
<a href="/admin/Catalog/remove.do?id=${cat3.id}">删除</a>
</td>
</tr>
</c:forEach>
</c:forEach>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
</section>
<jsp:include page="bottom.jsp"/><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:include page="top.jsp"/>
<section id="content_wrapper">
<section id="content" class="table-layout animated fadeIn">
<div class="tray tray-center">
<div class="content-header">
<h2> 添加分类</h2>
<p class="lead"></p>
</div>
<div class="admin-form theme-primary mw1000 center-block" style="padding-bottom: 175px;">
<div class="panel heading-border">
<form method="post" action="/admin/Catalog/add.do" id="admin-form">
<div class="panel-body bg-light">
<div class="section row">
<div>
<div class="col-md-3"><b>分类编号</b></div>
<div class="col-md-5"><b>分类名称</b></div>
<div class="col-md-3"><b>所属父类</b></div>
<div class="col-md-1" style="text-align:right;"><b>删除</b></div>
</div>
</div>
<div class="section row" id="batch_items">
<div>
<div class="col-md-3">
<label for="title" class="field prepend-icon">
<input type="text" name="title" id="title" class="gui-input money" placeholder="名称..." required>
<label for="title" class="field-icon">
<i class="fa fa-stack"></i>
</label>
</label>
</div>
<div class="col-md-3">
<label class="field select">
<select id="language" name="pid">
<option value="${root.id}">${root.title}</option>
<c:forEach items="${root.children}" var="cat1">
<option value="${cat1.id}"> ${cat1.title}</option>
<c:forEach items="cat1.children" var="cat2">
<option value="${cat2.id}"> ${cat2.title}</option>
</c:forEach>
</c:forEach>
</select>
<i class="arrow double"></i>
</label>
</div>
<div class="col-md-5">
<label for="info" class="field prepend-icon">
<input type="text" name="info" id="info" class="gui-input" placeholder="描述...">
<label for="info" class="field-icon">
<i class="fa fa-info"></i>
</label>
</label>
</div>
<div class="col-md-1" style="text-align:right;">
<button type="button" class="button remove_item_button"> X </button>
</div>
</div>
</div>
<div class="panel-footer text-right">
<button type="button" class="button" id="add_item_button"> 添加 </button>
<button type="submit" class="button"> 保存 </button>
<button type="button" class="button" onclick="javascript:window.location.href='/admin/Catalog/list.do';"> 返回 </button>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
</section>
<jsp:include page="bottom.jsp"/>
<script>
$("#add_item_button").click(function(){
$("#batch_items").children("div").last().after($("#batch_items").children("div").first().clone());
$("#batch_items").find("button.remove_item_button").attr("disabled",false);
$("#batch_items").children("div").last().find("input").eq(0).attr("value","");
$("#batch_items").children("div").last().find("button.remove_item_button").click(
function(){itemRemove(this);}
);
});
function itemRemove(ele){
$(ele).parent().parent().remove();
if($("#batch_items").children("div").size()==1){
$("#batch_items").children("div").find("button.remove_item_button").attr("disabled",true);
}
}
</script><%@ page contentType="text/html;charset=UTF-8" language="java" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>欢迎使用 IMOOC Cake 后台管理系统</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="/css/theme.css"> <link rel="stylesheet" type="text/css" href="/css/admin-forms.css"> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> <![endif]--> </head> <body class="admin-validation-page" data-spy="scroll" data-target="#nav-spy" data-offset="200"> <div id="main"> <header class="navbar navbar-fixed-top navbar-shadow"> <div class="navbar-branding"> <a class="navbar-brand" href="../index.html"> <H3>IMOOC Cake 后台管理系统</H3> </a> <span id="toggle_sidemenu_l" class="ad ad-lines"></span> </div> </header> <aside id="sidebar_left" class="nano nano-light affix"> <div class="sidebar-left-content nano-content"> <header class="sidebar-header"> <div class="sidebar-widget author-widget"> <div class="media"> <a class="media-left" href="#"> <img src="/images/head.jpg" class="img-responsive"> </a> <div class="media-body"> <div class="media-author">管理员</div> <div class="media-links"> <a href="login.html">退出</a> </div> </div> </div> </div> <div class="sidebar-widget search-widget hidden"> <div class="input-group"> <span class="input-group-addon"> <i class="fa fa-search"></i> </span> <input type="text" id="sidebar-search" class="form-control" placeholder="Search..."> </div> </div> </header> <ul class="nav sidebar-menu"> <li class="sidebar-label pt20">商品管理</li> <li class="active"> <a href="cake_list.html"> <span class="glyphicon glyphicon-book"></span> <span class="sidebar-title">商品列表</span> </a> </li> <li> <a href="cake_add.html"> <span class="glyphicon glyphicon-home"></span> <span class="sidebar-title">商品上架</span> </a> </li> <li class="sidebar-label pt20">分类管理</li> <li class="active"> <a href="/admin/Catalog/list.do"> <span class="glyphicon glyphicon-book"></span> <span class="sidebar-title">分类列表</span> </a> </li> <li> <a href="/admin/Catalog/toAdd.do"> <span class="glyphicon glyphicon-home"></span> <span class="sidebar-title">添加分类</span> </a> </li> </ul> <div class="sidebar-toggle-mini"> <a href="login.html"> <span class="fa fa-sign-out"></span> </a> </div> </div> </aside>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
</div>
<style>
/* demo page styles */
body { min-height: 2300px; }
.content-header b,
.admin-form .panel.heading-border:before,
.admin-form .panel .heading-border:before {
transition: all 0.7s ease;
}
/* responsive demo styles */
@media (max-width: 800px) {
.admin-form .panel-body { padding: 18px 12px; }
}
</style>
<style>
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
width: 48%;
margin-top: 0;
margin-bottom: 0;
line-height: 25px;
text-indent: 3px;
color: #888;
border-color: #DDD;
background-color: #FDFDFD;
-webkit-appearance: none; /*Optionally disable dropdown arrow*/
}
</style>
<!-- jQuery -->
<script src="/js/jquery.min.js"></script>
<script src="/js/jquery-ui.min.js"></script>
<!-- Theme Javascript -->
<script src="/js/utility.js"></script>
<script src="/js/demo/demo.js"></script>
<script src="/js/main.js"></script>
<script src="/js/pages.js"></script>
<!-- END: PAGE SCRIPTS -->
</body>
</html>正在回答 回答被采纳积分+1
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程




恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星