技术重要吗?
今天看脉脉上面有些女的技术都是厉害得不行.
所以感觉去争论或者比较谁技术牛多牛没有什么实在的意义.
今天的记录是这样的.
1.首先我要做一个订单系统.
具体更多:https://deadzq.github.io/
然后jQuery待加入,之前的JavaScript判定待整齐.
后来发现使用JSP的EL和JSTL接收request的传值实在是太恶心了.所以觉得学习JSON很有必要.
上面的input表示数量及+-按钮很粗糙.
具体代码可能看花了
<%@ page import="java.util.ArrayList" %> <%@ page import="com.ykmimi.order.entity.Foods" %> <%@ page import="com.ykmimi.order.entity.Customers" %><%-- Created by IntelliJ IDEA. User: SeeClanUkyo Date: 2018/07/19 Time: 22:31 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>食品列表</title> <%@include file="bootstrap.jsp" %> </head> <body> <%if(session.getAttribute("customer")!=null){%> <%Customers customer = (Customers)session.getAttribute("customer");%> 您好,<%=customer.getCustomer_truename()%>,请选取您要点的套餐及数量! <%}%> <p>食品列表</p> <form action="/order" method="post"> <% if (request.getAttribute("foodslist") == null) {%> 暂无商品 <% } else { %> <% ArrayList<Foods> foodsList = (ArrayList<Foods>) request.getAttribute("foodslist");%> <% for (int i = 0; i < foodsList.size(); i++) {%> <%! ArrayList<Long> foodID = new ArrayList();%> <% foodID.add(foodsList.get(i).getFoodid()); %> 选择&数量:<input type="hidden" id="<%=foodsList.get(i).getFoodid() %>numbers" name="<%=foodsList.get(i).getFoodid() %>number" value="0">数量:<input type="text" name="<%=foodsList.get(i).getFoodid()%>" id="num<%=foodsList.get(i).getFoodid()%>" value="0"> <input type="button" id="add<%=foodsList.get(i).getFoodid()%>" value="+"><input type="button" id="del<%=foodsList.get(i).getFoodid()%>" value="-"> <script> $(function () { $("#add<%=foodsList.get(i).getFoodid()%>").click(function () { var num = $("#num<%=foodsList.get(i).getFoodid()%>").val(); num++; $("#num<%=foodsList.get(i).getFoodid()%>").val(num); $("#<%=foodsList.get(i).getFoodid() %>numbers").val(num); }); $("#del<%=foodsList.get(i).getFoodid()%>").click(function () { var num = $("#num<%=foodsList.get(i).getFoodid()%>").val(); num--; $("#num<%=foodsList.get(i).getFoodid()%>").val(num); $("#<%=foodsList.get(i).getFoodid() %>numbers").val(num); }); }); </script> <%=foodsList.get(i) %> <% if ((request.getAttribute("price_".concat(foodsList.get(i).getFoodid() + ""))) != null) {%> <mark>此套餐订购金额: <%=request.getAttribute("price_".concat(foodsList.get(i).getFoodid() + ""))%> </mark> <%}%> <br> <% }%> <input type="submit" value="确认下单"> <% if (request.getAttribute("cookieState") != null) {%> <%=request.getAttribute("cookieState")%> <br> <%}%> <%if (request.getAttribute("orderHint") != null) {%> <%=request.getAttribute("orderHint")%> <br> <%}%> <%}%> </form> <hr> bug: <br> 1.定完一单再点确认下单报错(直接改掉该button) <br> 2.确认下单的响应速度过慢 <br> 3.物品选择不能为负数,现在可以为负数,js或java代码应限制下 <br> <br> <%--展示当前路径--%> <%=request.getRequestURL()%> <br> <a href="/index.jsp">返回首页</a> </body> </html>
根据数据库查询的foods表中的数据进行了展示,但还是使用的request传值,写法与用法及其无耻下流,可以说是写第一遍不想再这样写第二次.
而JSON可以解决这个问题.-> http://www.ykmimi.com/JSON/json1.html
json-simple-1.1.jar -> http://www.ykmimi.com/JSON/json_simple-1.1.jar
而最好的方式是能使用AJAX传递数据.
而AJAX是这样的. http://www.ykmimi.com/Ajax/ajax_0.html
而AJAX又是可以使用jQuery简化的. 而jQuery是这样的-> http://www.ykmimi.com/jQueryDOC/jQuery.html
而它们的合作方式大概是下图这样的:
所以它们的编程是简单的.
而当你如果从外太空闪了腰或者被传销洗过脑后回来发现脑袋中没有这些编程知识的时候,可以这样做:
首先了解JS: http://www.ykmimi.com/ <- js demo的标签库和js紧凑学习1.2等
其次了解jQuery, 了解Ajax,使用Ajax和jQuery及JavaScript完成一次数据传递.
之后了解JSON,了解写法,并配合上面的用法融合进去.
后端使用Java时,应该有一个类专门用来处理传递到后端的JSON字符串,使用JSON引入包,(比如传递进来注册信息一篮子信息,就将这个JSON数据使用Java的引入JSON包进行分解组成Java可以使用的数据(不知可行与否),并插入数据库后,如果要返回该实例,同样使用JSON类库,将信息写成JSON的模样,并回传,回传方式应该是request,传到某页面后,使用JavaScript的parseJSON或者其他方法将Java后台传导某页面的JSON字符串解析为JavaScript可以理解的JSON,(转化为了对象形式),其后再将数据用到该用的地方,比如跳转到了用户信息界面,解析的用户实例JSON数据赋值给用户的详情介绍上的p标签或者table子集中).
将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
java源码-ArrayList
开篇 ArrayList主要由如下特性: ArrayList实际上是通过一个数组去保存数据的,当我们构造ArrayList时,如果使用默认构造函数,ArrayList的默认容量大小是10。 当ArrayList容量不足以容纳全部元素时,ArrayList会自动扩张容量,新的容量 = 1.5*原始容量。 ArrayList的克隆函数,将全部元素克隆到一个数组中,采用Arrays.copyOf方法实现。 ArrayList实现java.io.Serializable的方式。当写入到输出流时,先写入“容量”,再依次写出“每一个元素”;当读出输入流时,先读取“容量”,再依次读取“每一个元素”。 在做ArrayList的遍历的时候有3中遍历的方法,分别是随机访问遍历,用迭代器遍历和强制for循环遍历,按照效率来说最快的是随机访问遍历,最差的是迭代器遍历。 ArrayList的遍历是不安全的,在遍历的时候如果改变了集合的结构会抛出ConcurrentModificationException异常。 ArrayList类图 ArrayList类图 ArrayList类定义 ArrayList的类...
- 下一篇
Python全栈 MySQL 数据库 (索引、数据导入、导出)
ParisGabriel 每天坚持手写一天一篇 决定坚持几年 为了梦想为了信仰 开局一张图 表字段重命名(change) alter table 表名 change 原名 新名 数据类型; SQL查询 执行顺序: 3. select ...聚合函数 from 表名 1. where ... 2. group by... 4. having... 5. order by... 6. limit... group by 语句 作用:给查询结果进行 分组 注意: 1. group by之后的 字段必须要为 select之后的 字段名 2. 如果select之后的字段和group by 之后的 字段不一致,则 必须对 字段 进行聚合处理(聚合函数) having 语句 作用:对查询结果 进一步筛选 注意: 1. having语句通常和 group by联合使用, 过滤由 group by语句 返回的记录集 2. where只能操作表中 实际存在的 字段, having by可操作由聚合函数生成的显示列 di...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16