【javaweb】笔记 菜单查询之后

7 、菜单查询与分页

流程图

在这里插入图片描述

老师的 菜单跳转方法

在这里插入图片描述

添加链接描述

public class BaseServlet extends HttpServlet {
 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

 String requri = req.getRequestURI();
 String methodName = requri.substring(requri.lastIndexOf("/")+1);


Method mymethod = this.getClass().getMethod(methodName,HttpServletRequest.class,HttpServletResponse.class);

mymethod.invoke(this,req,resp);


this 是指
public class MenuServlet extends BaseServlet {

为什么这么写,他就会去调用父类里面的service方法呢?

1、我们一般自己继承Httpservlet 之后,
2、我们一般可以直接重写doGet doPost
3、service 是用来做方法分发的
4、我们没有自己继承重写
5、但是为什么doGet doPost会自己执行啊
6、因为在他父类里面重写过
7、那如果我作为一个子类的话,我不重写父类里面的方法,会有什么效果呢
子类会直接继承下来
并且service 会自动触发
优先自动对用的都是service方法

!!! 为什么我获取不到地址

如果配置(“/prod/*”) 里面有 星 的话
这种/ 星 或者 叫模糊匹配
他不认为这个是servlet的配置地址
会被直接忽略掉
在这里插入图片描述
好吧,我的还是不好使

requesturl 是获取当次用户敲的请求地址
反射的时候要传实参

在这里插入图片描述

如果用户瞎敲地址

在这里插入图片描述
在这里插入图片描述

注意,仅仅只覆盖方法,找不到,其他方法,还需要打印报错信息呢

在这里插入图片描述
在这里插入图片描述

1、点击不同子菜单,内部通过路由跳转不同组件

在这里插入图片描述
在这里插入图片描述
router不写就是flase,写就是开启

2、element标签与代码位置

在这里插入图片描述
比如下面这个位置
在这里插入图片描述

在这里插入图片描述
v-for加回el menu item
不需要 《a》 标签了
在这里插入图片描述

:index 需要字符串,因为连接本身就是字符串了,所以不需要转换为字符串

转换字符串 数字+ ’ ’

2、根据路径,建立对应组件

在这里插入图片描述

2.1、建立对应组件
2.2、可以建立在文件夹里,方便分类

在这里插入图片描述

2.3、记得配置路由的时候别忘了有文件夹

在这里插入图片描述

3、测试跳转

在这里插入图片描述
已经可以了

4、子路由(只替换一部分)

因为跳转的子组件也是这个结构
在这里插入图片描述
再在组件里面写一遍很麻烦

使用子路由,共用Main组件里面的上面和左边的条

4.1只切换中间main的显示部分 页面配置方法

替换哪个部分,就在哪个部分添加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

子路由 路由文件配置方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置方法没错,如果无效可能是没有保存上

在这里插入图片描述

5、菜单管理 遍历列表数据
1、实现样式目标

在这里插入图片描述

2、目标

1、里面放列表数据,
2、列表要和后台数据搭配起来

3、后台servlet
3.1判断是否是null,判断是否是空值
qpidstr!=null&&!"".equals(qpidstr)
3.2 equals 和 == 的区别

引子:添加链接描述

equals是Object类的一个方法,用来比较两个对象的内容是否相等。
“==”是用来比较两个对象的内存地址。
3.3 我的妈啊
1、Dao 方法

通过页码查询菜单

List<Menu> menus =new ArrayList<Menu>();


4、遍历table数据
先找一个表格

在这里插入图片描述

放在这里

在这里插入图片描述
在这里插入图片描述

配置vue部分

在这里插入图片描述

列表数据应该是这样的

在这里插入图片描述

列表数据遍历值

在这里插入图片描述

列表key出错

添加链接描述

上级菜单名称怎么办

这里只有编号
给用户显示编号肯定不行
需要把上级菜单名称也给查出来
在这里插入图片描述

把父菜单名称放在后面

在这里插入图片描述

4.2、表关联(在实际业务里做表关联是比较频繁的)

这种子数据中的父名称都是不直接存,都是存码,查的时候去连接,这是数据库保存给则

自连接

在这里插入图片描述
在这里插入图片描述

只要父菜单名称,并且 如果 名称是空值 则 赋值 无 (空值转换函数)

在这里插入图片描述
在这里插入图片描述

4.3表格数据填写

在这里插入图片描述

4.4 获得后台数据

在这里插入图片描述

4、样式问题
老师是直接就找到这个地方的,我觉的他是通过标签名看出来的

在这里插入图片描述

在这里插入图片描述

5、图标显示问题

在这里插入图片描述

table 自动遍历的时候,怎么往上面加元素标签呢

在这里插入图片描述
在这里插入图片描述

官方解决办法
你看这个官方样式 这个摁钮肯定遍历的时候是没有的,是硬加上去的

在这里插入图片描述
在这里插入图片描述

6、数据插槽
在什么时候使用 slot-scope

1、在组件自动进行遍历的时候,我没有办法操作当前行的数据
2、但是我们要对这个内容进行一些修改的时候
3、要写一些内容,改一些内容,加一些逻辑的时候
4、我们就可以使用这个插槽
5、用v-slot,好像最新的也改了,再说

!!!!!!!!!!!6、插槽 这个写的很好

添加链接描述

原本样式

在这里插入图片描述

让它变得更好看

在这里插入图片描述

其他样式可以自己整

让它显示图标

在这里插入图片描述

在这里插入图片描述

等会想办法,把图标套在里面

在这里插入图片描述

7、分页
后台需要传的数据

在这里插入图片描述

分页组件

在这里插入图片描述

显示哪些摁钮

在这里插入图片描述

同级嵌套

在这里插入图片描述

代码绑定的数据和方法做一下对应
根据前端需要的数据,编写servlet方法,确定返回数据

在这里插入图片描述

在这里插入图片描述

绑定页码数据,直接写成一个对象

在这里插入图片描述

分页组件的那两个方法

在这里插入图片描述

具体流程 当我们触发 当前页数改变 和 当前页码数据条数 改变的时候 就要去后台取数据
钩子函数要添加内容

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

如果不用mybatis怎么写 不会
分页 调整显示条数的时候 要把页码归一,不然会发生 在第三页,调整容量后也在第三页

在这里插入图片描述

合并函数(这两个函数功能差不多,就参数不一样)

在这里插入图片描述

合并获取参数的代码

在这里插入图片描述

方法要用this调
为什么他不传页数也有分页

在这里插入图片描述
1、不知道为什么可以,我的话
数据不出来:是因为 没有判断分页为空

2、会把所有东西都查出来,但是调整分页不不好使
在这里插入图片描述

不要像他那么做
养成这个习惯,在方法 做输出语句 输出方法的功能描述

在这里插入图片描述

之前困扰的我vue json字符串 需要我手动转换对象 出错的问题

在这里插入图片描述
不是等号的问题
在这里插入图片描述
我是傻逼

去掉不需要的引用

ctrl+alt+o

来吧写菜单查询和分页

1、先把数据查出来 不考虑分页和关键字查询
先写个接口出来

草拟吗,浪费两天时间,老子今天就是猝死在这里也要他妈的完成
1、菜单查询
2、分页
3、关键字查询

菜单查询(看看我能出什么SBbug)

上级菜单是我实体类没有的属性,老师是怎么弄的啊

在这里插入图片描述

老师没有建立show 这个属性

我可以留着 show 然后自己加一个属性进去,记得更改返回集

通过起别名的方式 来和返回集对应

我超

在这里插入图片描述

print 和 wirter 的区别

在这里插入图片描述
在这里插入图片描述

java.io.Writer.write(String str,int off,int len) 方法将写入一个字符串的一部分。
flush close 都不需要

意思是只要使用了ServletResponse对象,它就自动在servlet运行完毕时自动flush和close,在servlet运行过程中进行手动flush和close不会产生任何风险,也不会有任何好处,说白了就是response.getOutputStream()你只负责往里面写,其他的不用你管

v-for 好像写在了跟标签 报错

原来它不需要我去帮他循环
在这里插入图片描述

如果没有 用那个returnEntity 那个数据返回值没有名字

没有配置子路由

怎么配置 根据 实体类的url 去配置地址
路由地址配错 Module not found: Error: Can’t resolve

添加链接描述

点连接会跳转到主页

在这里插入图片描述

在这里插入图片描述

element提供了 跳转功能

是什么来着
在这里插入图片描述

if(!req.getParameter(“operate”).contains(“login”)) 报空指针

报空指针
前端代码

 this.$axios
            .get(
              '/user.do?operate=login&' +
                this.$qs.stringify(this.loginForm)
             )

没事,就是服务器一启动就去判断了,再发 链接就没事了

前端数据绑定异常

1、各种 数据没加 :
2、二级菜单遍历的应该是 menu.submenu 而不是直接写个 menu

为什么数据有时候会循环三遍

因为没走一次 查询菜单们都会遍历 一遍菜单
在这里插入图片描述
我应该像老师那样,从session里面拿

子菜单的连接跳转

在这里插入图片描述

子菜单的这个 绑定id 是没有P用的,所以把它改成超链接

配置了 子路由 和 仍然没有用

和这个大括号有关系吗
在这里插入图片描述

单词写错了,草拟吗!!!!!!!!!!!!

在这里插入图片描述
在这里插入图片描述

跳转子组件的时候 子组件的请求 没有发出去

我说怎么没有发出去呢

我他吗把钩子函数 写进 data() 里面了

!!!!!!!!!!数据格式错误

在这里插入图片描述
前面不能加东西
在这里插入图片描述

数据显示不正常

添加链接描述
在这里插入图片描述
这里忘配置了
在这里插入图片描述

数据显示正常 控制台报错

在这里插入图片描述
他要个数组,我给的是个对象
在这里插入图片描述

点击摁钮即可 关闭样式

在这里插入图片描述

双拉条

在这里插入图片描述

分页数据怎么绑定 什么. 什么

在这里插入图片描述

qs 怎么用

this.$qs.stringify(this.pageInfo)

分页学的和屎一样
老师也是要 查询列表和总页数都要查询的,和我之前学的一样
分页不好使,因为我在后台设置 页数不能等于0

实际上因为PAGE-1*5 所以page 已经等于0了

要不要把page 三个属性都传回去 都传回去方便前端赋值

在这里插入图片描述

这个就根据页数查询出错 数据数量就不会有错

在这里插入图片描述

他说是这里报错
在这里插入图片描述

我草你妈,我习惯了

在这里插入图片描述

怎么把两个对象都传回后端

在这里插入图片描述

条件查询

需要参数

菜单名称

上级ID

在这里插入图片描述

qs拼接

在这里插入图片描述

vue 数值未定义 错误

在这里插入图片描述
在这里插入图片描述

试试方法 去掉( )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值