`
isiqi
  • 浏览: 16484265 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

添加分类例子

阅读更多
添加分类例子:
数据库语句(Oracle):(如父类’A_1’,子类’A_!_2’)
-- Create table
create table TESTCLASS
(
ID NUMBER not null,
CATE_ID VARCHAR2(
50),
CATE_PIDVARCHAR2(
50),
CATE_NAME VARCHAR2(
50)
)
tablespace USERS
pctfree
10
initrans
1
maxtrans
255
storage
(
initial
64K
minextents
1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table TESTCLASS
add constraint TID_PK primary key (ID)
disable;
Index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>添加分类测试成功</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script language="javascript">
var XMLHttpReq; //创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e){
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
//发送请求函数
function sendRequest() {
createXMLHttpRequest();
var url = "optionsServlet";
XMLHttpReq.open("GET", url);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.send(null);// 发送请求
}
// 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
display();
setTimeout("sendRequest()", 10000); //10秒后刷新
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 显示更新数据信息的函数
function display() {
var optionsText = XMLHttpReq.responseText;
document.getElementById("selects").innerHTML = optionsText;
}
</script>
</head>
<body onload="sendRequest()">
<!-- 注意:<option>选项改为动态显示就行<option> -->
<center>添加分类</center>
<form action="test/addShow.jsp" name="form1" method="post">
<table width="35%" border="0" align="center" class="maintbbg" cellspacing="1" cellpadding="0">
<tr class="maintbtr3" height=25>
<td>
<div align="right">用户分类名:</div>
</td>
<td>&nbsp;<input TYPE="text" NAME="cate_name" class="input" ></td>
&nbsp;
<div id="selects" name="selects"></div>
</tr>
<tr>
<td><input TYPE="submit" name="提交" value="提交"/></td>
</tr>
</table>
</form>
</body>
</html>
addShow.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="cc.yiyao.dbConn.JdbcUtil,java.sql.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'addShow.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Connection conn = JdbcUtil.getConnection();
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
String dbCate_id = "";//将来数据库中插入的字段
String temp_cateid ="";
String cate_pid = request.getParameter("cate_pid");
String sqlSel = "select * from testClass where cate_pid = '"+cate_pid+"' order by id desc"; //(实际上只要返回一条记录,不过oracle不能用top1
ResultSet rs = null;
rs= stmt.executeQuery(sqlSel);
if(rs.next()){//有相同类别的数据,取出最大值,再加上1;
temp_cateid = rs.getString("cate_id");
//分离出数字,后再加1,如A_2_1,分离出最后一个数字,再加1。
int k = temp_cateid.lastIndexOf("_");
//获得最后一部分的数字
String strLastPart = temp_cateid.substring(k+1,temp_cateid.length());
out.println("strLastPart="+strLastPart);
//获得字符串的前一部分
String strFirstPart = temp_cateid.substring(0,k+1);
out.println("strFirstPart="+strFirstPart);
//将最后的数字加1,最后合起来
dbCate_id = strFirstPart + (Integer.parseInt(strLastPart)+1);
out.println("dbCate_id"+dbCate_id);
}else{
//没有相同类别的数据,初始化开始值
if(!cate_pid.equals("0")){//没有相同类别的数据(开始的子类别为父类别+”_1",初始化开始值(select 中以"0"为开始,没有相同类别又等于0说明数据库中都没有数据)
dbCate_id = cate_pid+"_1";
}else{//说明数据库未插入 //select 中以"0"为开始,没有相同类别又等于0说明数据库中都没有数据
dbCate_id = "A_1";
}
}
String className = request.getParameter("cate_name");
String sql = "insert into testClass values (5,'"+dbCate_id+"','"+cate_pid+"','"+className+"')";
stmt.executeUpdate(sql);
conn.commit();
conn.setAutoCommit(true);
out.println("dbCate_id2"+dbCate_id);
if(stmt!= null) {
stmt.close();
}
if(conn!= null) {
conn.close();
}
%>
</body>
</html>
Servlet:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RefreshOptionsServlet extends HttpServlet {
public RefreshOptionsServlet() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
response.setHeader("Cache-Control", "no-cache");//注意设置页面不缓存,不然就看不到刷新的效果了!!
PrintWriter out = response.getWriter();
StringBuffer optionsText = new StringBuffer("");
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:Oracle1",
"system",
"system"
);
Statement stmt = conn.createStatement();
String sql = "select * from testClass";//sql = "select * from testClass where cate_pid = 0";
ResultSet rs = null;
rs = stmt.executeQuery(sql);
String cate_pid = ""; //父编号
String cate_name = ""; //名称
String cate_id = ""; //编号
String sql2 = "select * from testClass where cate_pid='";
optionsText = optionsText.append("<select name='cate_pid'><option value='0'>无</option>");
while(rs.next()){
cate_id = rs.getString("cate_id");
cate_name = rs.getString("cate_name");
cate_pid = rs.getString("cate_pid");
optionsText = optionsText.append("<option value='"+cate_id+"'>"+cate_name+"</option>");
}
} catch (ClassNotFoundException e) {

相关推荐

    java等级分类例子

    在这个例子中,“一二级分类”可能代表了不同层次的类结构。 首先,让我们深入理解Java中的类继承。在Java中,使用关键字`extends`来声明一个类是另一个类的子类。例如,如果我们有一个名为`Animal`的父类,我们...

    php无限分类例子,源码。

    - `无限分类例子`可能包含一个PHP文件,其中定义了数据库连接、分类查询、递归函数和HTML渲染等功能。关键部分是实现无限分类的函数,它应该能够处理任意深度的分类树。 - 源码可能还包含数据库脚本,用于创建或...

    个人制作的ASP多级分类例子

    在本案例中,“个人制作的ASP多级分类例子”是一个示例项目,它展示了如何在ASP环境中实现一个无限级别的分类系统。这个系统允许用户进行灵活的分类管理,包括添加、修改栏目,并且在操作后能够即时预览效果。 多级...

    Android ListView分类例子

    这个“Android ListView分类例子”很可能是探讨如何在ListView中实现分组或分类的功能,以更有效地管理和呈现数据。 ListView允许开发者通过适配器(Adapter)将数据源与视图(View)绑定,每个ListView项都是一个...

    ecshop批量添加商品分类

    批量添加分类通常涉及以下几个步骤: 1. 数据准备:商家需要提前整理好商品分类的列表,以逗号分隔的格式存储,如上述的字符串。 2. 数据导入:利用ECShop的后台管理功能或通过编程接口(API)将这个列表上传到...

    添加商品规格例子新

    2. **整理分类**:按照上述提到的各个部分进行分类和排序。 3. **格式化**:使用表格或列表形式呈现,以便用户阅读。 4. **审核校对**:确保所有信息准确无误,避免语法错误和错别字。 5. **上传系统**:将整理好的...

    安卓开发分类例子大全-每日更新

    安卓开发分类例子大全-每日更新 1. 本分享属于开发者日常积累的Demo类源码,目的是让其他开发者不必从零开始编写通用功能,从而提高开发效率。 2. 分享内容涉及的所有源码均为免费资源,旨在帮助开发者避免重复...

    iview 例子_ivew_iview例子_iview分类_vue_

    开发者解压后,可以通过运行特定的命令来启动项目,查看和修改已有的功能,或者添加新的功能。 总结起来,"iview 例子" 是一个基于 Vue 和 iView 的快速开发框架,具备登录认证、权限控制和系统管理的核心功能,...

    CakePHP的blog例子(增加了分类功能)

    刚接触CakePHP,学习了附带的blog例子,尝试添加了分类功能,相当粗糙。 1、数据库文件cakePHP\cake_test.sql 2、请在cakePHP\app\config\database.php配置您的数据库连接相关信息 3、相对于原例子增加了以下文件: ...

    一个基于VS2008+Access实现的简单无限级分类(表格、下拉列表)源码例子

    在这个例子中,表格可能用于显示所有的分类层次,而下拉列表则可能用于选择或添加新的分类。`Default.aspx.cs`是与`Default.aspx`关联的后端代码,包含C#代码,用于处理页面的逻辑,如数据的获取、更新和插入。 `...

    php无限分类的例子!!!!!!

    可以将根节点放入栈或队列,然后不断弹出元素,获取其子节点并添加到数据结构中,直到数据结构为空。这种方法通常被称为深度优先搜索(DFS)或广度优先搜索(BFS)。 4. **预排序遍历树(PreOrder Traversal)**:...

    easyui增删改很好的例子

    这个“easyui增删改很好的例子”是一个实用的学习资源,展示了如何利用EasyUI来实现数据的添加、删除和修改功能。在产品管理和产品分类管理两个子模块中,我们可以看到这些操作的实现,这对于理解和掌握EasyUI的数据...

    bootstrap静态小例子

    这种菜单结构允许用户在一个清晰的层次结构中导航,特别适合展示网站的主要功能或分类。在Bootstrap中,通过使用`.navbar`、`.navbar-expand-*`(其中`*`代表屏幕宽度的断点)和`.navbar-nav`类,我们可以创建一个可...

    matlab使用libsvm进行分类代码实例(带最新libsvm超详细安装教程)

    安装好libsvm库,博客地址:https://blog.csdn.net/qq874455953/article/details/88782121, 然后直接点击运行代码即可, 同时你也可以添加数据集,然后更改一下矩阵参数就可以利用自己的数据集进行预测分类了,...

    BBS交流论坛的小例子

    - **分类与板块**:为了组织内容,论坛通常设有不同板块,如技术交流、娱乐休闲等,每个板块包含多个主题。 - **搜索功能**:方便用户查找特定信息或主题。 - **权限管理**:管理员和版主具有管理用户、删除违规...

    arcengine经典例子

    专题图可以根据地图要素的属性值进行分类、分级,通过颜色、图案、尺寸等方式突出显示特定信息。ArcEngine提供了多种专题图类型,如比例尺专题图、类别专题图、连续值专题图等,开发者可以根据需求选择合适的方式,...

    android中一个简单的LIstView用法例子

    这个简单的ListView用法例子将帮助初学者理解和掌握如何在实际项目中运用ListView。 首先,我们来了解一下ListView的基本结构。ListView是Android SDK中的一个视图类,继承自AbsListView。它的核心功能是展示一个可...

    安卓listview相关相关-一个ExpandableListView的例子实现多级菜单分类展示.rar

    在这个例子中,可能展示了多个顶级分类,每个分类下又有各自的子分类,以此类推。 实现ExpandableListView需要以下几个关键步骤: 1. **数据模型**:创建一个数据模型来表示父级和子级数据。通常,我们会定义两个...

    使用LibSVM库实现的c++二分类

    - 项目通过图形用户界面(GUI)允许用户在二维坐标系中手动添加两类样本点。左键点击产生一类样本,中键切换到另一类。 - 用户完成样本输入后,程序利用LibSVM进行训练,并在坐标系中绘制分类超平面。 4. **数据...

    不错的左侧导航例子

    这种布局方式尤其适合于内容丰富、分类繁多的电商平台,如我们的示例中的"NetShopMenus"。 在设计左侧导航时,以下是一些关键知识点: 1. **响应式设计**:随着移动设备的普及,左侧导航应具备响应式设计,确保在...

Global site tag (gtag.js) - Google Analytics