项目笔记总结

知识点部分

1.el表达式:取值本质上为内置对象中保存的值,setAtrruibute(_)根据name取值的,EL表达式利用的是服务器上的数据

2.ajax是客户端获取服务器上数据的方法
 

3.Java jsp Javascript jQuery ssm之间的区别

4.@Resource 和@Autowired之间的区别

4.前端之间传递参数的方法

方法一:

传参:window.location.href = "xxx?xx=xx&xx=xx";

接参(定义下列方法然后调用)

function getQueryVariable(variable){
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

方法二:

cookie:(21条消息) Cookie用法大全_唐策的博客-CSDN博客_cookie的使用


前端知识点

页面之间跳转:

1.跳转具体某一页:window.location.href = "xxx?xx=xx&xx=xx";

2.返回上一页:javascript:history.back(-1);


bootstrap-table分页插件:

1.资源链接

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script><script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"
            integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
            crossorigin="anonymous"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.17.1/bootstrap-table.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.17.1/locale/bootstrap-table-zh-CN.min.js"></script>

2. 模板代码

$(function () {
        $("#list").bootstrapTable({
            url: "/list.do",//数据所在位置
            striped: true,//显示行间隔
            pageNumber: 1,//初始化加载几页
            pagination: true,//是否分页
            sidePagination: 'server',
            pageSize: 10,
            showRefresh: true,
            queryParams: function (params) {
                var temp = {
                    //当前第几页
                    offset: params.offset,
                    //每页显示的最大数量
                    pageNumber: params.limit
                };
                return temp;
            },
            columns: [
                {
                    checkbox: true
                },
                {
                    title: "序号",
                    field: "roleId",
                    align: "center"
                },
                {
                    title: "角色名",
                    field: "roleName",
                    align: "center"
                },
                {
                    title: "状态",
                    field: "roleState",
                    align: "center",
                    formatter: function (value) {
                        return value == 1 ? "停用" : "启用";
                    }
                },
                {
                    title: "操作",
                    align: "center",
                    formatter: function (value, row) {
                        var state;
                        if (row.state == 0) {
                            state = "停用";
                        } else {
                            state = "启用";
                        }
                        return '<a href="editUser.jsp?roleId=' + row.roleId + '">编辑</a>&nbsp;&nbsp;&nbsp;' +
                            '<a onclick="deleteUser(' + row.roleId + ')">' + state + '</a>&nbsp;&nbsp;&nbsp;' +
                            '<a href="password.html?roleId=' + row.roleId + '">修改密码</a>&nbsp;&nbsp;&nbsp;';
                    }
                }

            ]
        });
    });

mabits--->.xml文件中 resultmap 的知识点问题:

<!--
1.resultMap作用是为了将我们的查询结果一一对应在一个特殊的实体类中
  常见情况:1.一对一查询
          2.一对多查询
2.type:查询结果封装在哪个实体类中
    id:对应select标签中 resultMap 中的参数,二者对应,通过此对应在执行完 select 标签后找到对用的结果封装标签
      : <result property="实体类中的属性名" column="查询语句结果中列名" />
      : <collection property="实体类中封装“多”的属性名" javaType="list" ofType="多中单个的类型">
      -->
 <resultMap type="com.llh.bean.Role" id="roleMenusResultMap">
    <!--<id property="id" column="roleId" />-->
    <result property="roleId" column="roleId" />
    <result property="roleName" column="roleName" />
    <result property="roleState" column="roleState" />
    <!-- 配置一对多的关系
        property:填写pojo类中集合类类属性的名称
        javaType:填写集合类型的名称
    -->
    <collection property="menus" javaType="list" ofType="com.llh.bean.Menu">
      <!-- 配置主键,是关联Order的唯一标识 -->
      <result property="menuId" column="menuId" />
      <result property="menuName" column="menuName" />
      <result property="menuState" column="menuState" />
    </collection>
  </resultMap>

多选+批量删除

前端生成列表的时候 在 form 标签中循环生成同 name 多个多选框组件,当我们在多选想要的选项之后,提交表单,会像后端发送 多选组件 name属性的数组,再后端接受数组,并根据数组特定的数据:

<input type="checkbox" name="ids" th:value="${u.uid}">
$(function () {
        $("#checkAll").click(function () {
            $(":checkbox[name='ids']").prop("checked", $(this).prop("checked"));
        });
        $("#btnDelete").click(function () {
            if ($(":checked[name='ids']").length > 0) {
                $("#df").submit();
            } else {
                alert('请选择要删除的记录')
            }
        });
    })

找错

找错规律总结:

1.我们要学会可以在发生错误的时候,精准将错误在百度当中找出来对应的解决办法

2.我们在找错的时候,我们要采用五问法,追根溯源,找到出错问题的本质就是是什么。

3.我们要学会耐性的看控制台的飘红,一大段的飘红我们要学会在其中找见我们出错问题的关键点,可以精准的定位我们的错误到底在什么地方,从而可以对症下药。

找错知识点总结:

1.if判断中,else if [如果直接用else,会放大else中的错误,我们常常将其归结到其它中]中的错误

if (role.roleState == 0) {
                    $("input[id='state0']").attr("checked", true);
                } else if (role.roleState == 1) {
                    $("input[id='state1']").attr("checked", true);
                }

2.前端if(=/==)错误


反思规划部分

1.在编写前后端请求,以及前端展示数据的过程中,我们首先需要理清楚请求以及数据的来龙去脉

2.一个好的项目工具可以让我们找错以及编程时事半功倍,在使用这个编辑器等新工具时,我们必须要系统学习一下这个工具他的优点以及使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值