springboot+thymeleaf+vue+element-ui的bug整理

本文章记录自己学习所出现的bug,新人一枚。

一、资源文件引用

用到thymeleaf所以要用th:href,----

<li>
     <a th:href="@{/Main/main}">主页</a>
</li>
                            <div class="demo-basic--circle">
                                <div class="block"><a th:href="@{/User/UserMessage(userid=${session.USER.userid})}" style="text-decoration:none;float: right;margin-top: 10px;"><el-avatar :size="50" :src="imageUrl" style="max-width: 80px;margin-right: 10px"></el-avatar></a></div>
                            </div>
                        <a href="#" class="logo" style="text-align:center">
                            <span class="logo-lg"><img th:src="@{/img/logo.png}"></span>
                        </a>

当然:href也是可以用的不过要将其中内容处理成字符串

                <div>
                    <a class="navbar-minimalize minimalize-styl-2 btn btn-primary " :href="'/User/UserMessage#?userid='+UserformData.userid"><i class="fa fa-bars"></i> </a>
                </div>
th:include的使用-----

th:fragment:布局标签,定义一个代码片段,方便其它地方引用    <div th:fragment="alert">
th:include:布局标签,替换内容到引入的文件  

 <head th:include="layout :: htmlhead" th:with="title='xx'"></head> />
th:replace :布局标签,替换整个标签到引入的文件    <div th:replace="fragments/header :: title"></div>
th:insert:布局标签,保留自己的主标签,保留替换内容的主标签    <div th:insert="header :: title"></div>
例如引入公共css:

引入页面:

<div th:include="/Controller/common/css::css"></div>

 被引入页面:

 二、对于这种前后端不分离的又同时使用vue和额element的错误整理,

对于element格式操作:

因为element导入的css包我的是

<link rel="stylesheet" th:href="@{https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.10/theme-chalk/index.css}">

这种在线类型。

所以,要想改变其格式可以

.el-upload input{
            display: none !important;;
        }

------------------------------------------

<el-descriptions-item>
            <template slot="label">
                <i class="el-icon-user"></i>
                用户名
            </template>
            {{UserformData.username}}
        </el-descriptions-item>
el-descriptions-item这个标签,对于很多老版的element包是不适用的,他会似的页面不显示,如果能下载最新离线包也好,我采用的是这种在线版,省事。
<link rel="stylesheet" th:href="@{https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.10/theme-chalk/index.css}">

-----------------------------------

还是文本引入,当要引入session中的数据时,如果是在body中可以:

${session.USER.userid}

在vue对象中:

 this.userid=[[${session.USER.userid}]];

-------------------------------------

再者,前后端传数据,还得是axios,

1.单个数据。

这是前端,先通过axios(使用前先引入他的js)的get方法,向Controller的 

/User/Message解析器传入封装的userid(在data中),再通过then获得返回的json数据,以res封装,所以res.data就是这一串json数据。

比如返回一个{‘userid’:‘123456’,‘password’:‘123456’}

再看后端:

@ResponseBody
    @RequestMapping("/Message")
    public Resultt Message(@RequestParam("userid") String userid){
        try{
            UserMessage userMessage = userMessageService.selectUserMessage(userid);
            userMessage.setPassword(userMessageService.selectUserPassword(userid));
            System.out.println(userMessage);
            return new Resultt(true, MessageConstant.GET_USERMESSAGE_SUCCESS,userMessage);
        }catch (Exception e){
            e.printStackTrace();
            return new Resultt(false, MessageConstant.GET_USERMESSAGE_FAIL,null);
        }
    }

然后就是增删改查。

----------------------------------------

如果传入多个值一般自己封装,

一样的道理,改改接收方式就行。 

-----------------------------------------

三、图片的问题

图片放大:

 <el-table-column label="套餐图片" align="center" prop="img">
                                <template slot-scope="scope">
                                    <el-image
                                        @click="srclist.push(imagesUrl+scope.row.img)"
                                        :fit="fit"
                                        :src="imagesUrl+scope.row.img"
                                        :preview-src-list="srclist">

                                    </el-image>
                                </template>
                            </el-table-column>

slot-scope="scope",scope.row用来获取本行信息

el-image自带图片放大功能

srclist在data中定义
 srclist:["http://localhost:8080/images/rotPhoto/d65fc960-4a0e-4fba-9db9-cc4cc684b888%E5%83%8F.jpg"],

先随便放一个链接,

然后肯定会查出一个列表的数据发送到前段,其中img是查出来的 图片名,imagesUrl是写死的图片链接,这就用到了scope.row(获取本行数据)

-------------------------

四、mybitas

带有判断条件的mybitas注解形式模糊查询。

 @Select("<script>" +
            "select" +
            " * " +
            "from " +
            "t_checkgroup" +
            "<if test='queryString != null and queryString.length > 0'> " +
            "where code like concat('%',#{queryString},'%')" +
            " or name like concat('%',#{queryString},'%')"+
            " or helpCode like concat('%',#{queryString},'%')"+
            " </if>" +
            "</script>")
   public Page<CheckGroup> selectByCondition2(String queryString);

关联查询(注解形式)。

@Select("select * from t_checkgroup where id in (select checkgroup_id from t_setmeal_checkgroup where setmeal_id=#{id})")
@Results(id="checkDao",value={
        @Result(id=true,column = "id",property = "id"),
        @Result(column = "name",property = "name"),
        @Result(column = "code",property = "code"),
        @Result(column = "helpCode",property = "helpCode"),
        @Result(column = "sex",property = "sex"),
        @Result(column = "remark",property = "remark"),
        @Result(column = "attention",property = "attention"),
        @Result(property = "checkItems",column = "id",
                many = @Many(select = "com.example.demo.dao.CheckDao.findCheckItemById",fetchType = FetchType.DEFAULT))


})
    List<CheckGroup> findCheckGroupById(int id);

日期操作差着一天

# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/ssm_db?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8

将时区serverTimezone改为Asia/Shanghai就好了。

characterEncoding=utf8解决中文乱码。

链接带着;jsessions。在

配置一下就行 

server.servlet.session.tracking-modes=cookie

--------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值