12.2 12:21
受疫情影响,实训暂停一段时间了,除了偶尔改一下前端,好像没干啥
12.3 16:42
前端页面基本少做好了,一个首页,一个登录,一个注册,一个商品详情,一个后台界面
实训老师好严,虽然不是负责我们班的(两个班同时上实训,负责老师轮流轮班)
那个老师说做展示类商品类的最起码要13个界面,要美观
功能类系统要人性化,功能完善。
我后悔选鲜花商场了.....
12.4 22:01
我特么,学校发通知受疫情影响,19号之前全部离校,受影响的考试延期到下学期
然后我们操作系统本来在19号考试,按道理应该延期到下学期
但是我们老师选择提前,我裂开
这实训跟考试全撞一起了
这下又得熬夜通宵了。
12.7 1:17
点击购买商品的时候,库存减少,库存可以输入。
获取文本框内的值,然后传到后端,同时获取当前页面商品的id值,一起传到后台,
利用商品id和文本框内值就能用sql语句删除。
17:30
草,我发现一件事,库存可以减少了,但是减少意味着有人购买了,应该要增加相应的下单的订单记录
思路是:
首先要登录,登录后之前用session缓存了登录的用户数据
利用session缓存的数据可以拿到当前登录的用户信息
那么是谁购买的已经知道了。
再利用当前商品详情页的id,也能知道购买的餐品。
这样应该就能添加数据了。
12.8 00:40
做商品详情页时候有一个判断逻辑有问题
后端逻辑
/*获取购买商品数量*/
function num() {
var shopnum =document.getElementById("num").value
var i =${loginUser.type};
if (i==1){
var useraddress=prompt('请输入收货地址');
if (useraddress){
/*把用户的信息传过去...*/
window.location='${pageContext.request.contextPath}/goshop?id=${commStocks.id}&shop='+shopnum+'&address='+useraddress;
}else {
alert('请输入地址')
}
}else {
alert("请先登陆账号");
}
}
原本按照正常思路走应该是
如果不登录,则无法获取到loginuser.type的值,这是一个在用户登录之后才会存在的临时参数(HttpSession session)所以没有值应该提示登录,如果登录且类型为普通用户则会提示输入地址
(因为最开始设计数据库表的时候没有设计好,而且用户注册的时候不需要填写地址)
而且后来思考了一下,如果每次收货地址不一样,那个还要去修改,所以干脆当场输入,入下图
但是实际的情况是,如果没有登录(游客状态下)虽然无法购买,但是原本的提示框也没有提示..
折腾了半天,没弄明白,心态有点崩 睡了
12.8 16:80
在获取用户信息后,用户可以选择修改,将修改后的数据传到后台,然后根据在修改数据库
但是英文数值都能拿到,所以应该是传数据的是时候问题
在web.xml的配置文件中加入防止乱码
<!-- 避免中文乱码 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后重新发布
再去获取值的时候发现能成功拿到正确的值了
19:24
关于遍历后传值
由于展示的数据是遍历出来的,然后想在点击按钮后传相应的id出去,但是在因为是在循环内。
原本想法是像上面那样那样,点击后获取id然后把值传到后台,但是以为是遍历,所以点击事件后每次拿到的值都是最后一条数据的id
解决方法:
再点击事件onclick()中把对应的id传出去
然后在script中再接值并传出去
Comments | NOTHING