12. thymeleaf中资源相对路径的解决
把博客部署到tomcat上后才发现因之前资源和链接的地址都是使用的相对路径,这样一来在tomcat上就各种找不到资源。从网上看了几种解决方式都挺麻烦的,且不是适配的,所以我根据thymeleaf的规则用下面的方式来解决:
1. 在js中通过:[[@{/}]], 可以获取当前的contextpath,所以就在每个页面中添加一个js函数,来获取contextpath,然后在js代码中要使用url的地方调用这个函数即可,如下:
function getContextPath(){
var context = [[@{/}]];
return context.substr(0, context.length-1);
}
调用时可以这样写:
$.ajax({
url:getContextPath()+"/articles/categories",
success:function(data){
$(".catagory .content ul").html("");
for(var i in data){
var content = '<li addr="' + getContextPath() + '/articles/category/' + data[i].id + '">' + data[i].name + '(' + data[i].count + ')</li>'
$(".catagory .content ul").append(content);
}
$(".catagory .content ul li").click(function(){
var addr = $(this).attr("addr");
window.location = addr;
});
}
});
这样写虽然会增加一些代码量,但是这种方式简单直观。
2. 在html标记中,可以通过@{/},来获取contextpath,然后结合th:attrprepend来给属性值添加前缀,使用方式如下:
<li class="item select" addr="home/" th:attrprepend="addr='@{/}'">首页</li>
或者通过这样使用:<img th:src="@{/images/lvniao.png}" height="128"/>
3. 在css中可以直接使用相对路径即可;
因为博客中使用了ueditor,但ueditor的配置是在自己的js中的,这样就只要使用硬编码了,其他如果不能通过上述方式解决的也只好硬编码解决。
通过这些天的努力,我的博客也就差不多写好了,下面是完成版的代码和数据库脚本下载地址:
https://pan.baidu.com/s/186W1VXLmSoLDMIuIJnRh1A zmk7
因为是初学java,所以有些地方对框架和工具的使用方式不对的就请见谅了,如果需要沟通的话,我的qq:645739665,欢迎喜欢折腾技术的小伙伴。
最新文章
- 初探物联网 - 基于Arduino的气象站和View and Data API的结合实例
- WinForm------DateEdit属性设置
- android aidl
- cookie案例-显示用户上次访问网站的时间
- git 安装与配置
- VC Windows API获得桌面所有窗口句柄的方法
- Android Services重点记录
- archlinux locale-gen 命令出错
- javascript基础学习(六)
- Cocoa Pods的安装
- Activity之间定时跳转
- python django 使用 haystack:全文检索的框架
- Tickets
- css3实现图片旋转效果
- 【BZOJ 2744】【HEOI2012】朋友圈
- [UE4]Event Tick
- Zabbix3.0学习笔记
- 软件工程项目程序:WC
- 电子书 VS 纸质书
- 一个漂亮的lazarus做的pagecontrol
热门文章
- linux命令TOP参数load average详解[转]
- 精彩源于起点——2018年潍坊市首次青少年Python编程公开课
- Ionic Framework - Getting &#39;ionic start [appName]&#39; Working Behind a Proxy
- Jmeter(二十六)_数据驱动测试
- HashMap原理浅析
- 修改input获取焦点背景黄色
- memcached安装、使用
- NGINX按天生成日志文件的简易配置
- CentOS6系列系统启动常见故障排查与解决方法
- udp服务端收发数据流程