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,欢迎喜欢折腾技术的小伙伴。
12. thymeleaf中资源相对路径的解决的更多相关文章
- Spring MVC page render时jsp中元素相对路径的解决办法
前段时间做了用Spring Security实现的登录和访问权限控制的功能,但是page render使用的是InternalResourceResolver,即在spring的servlet配置文件 ...
- thymeleaf中double/float格式化,四舍五入显示两位小数
private Float balance; 代码: <span class="A124_balance_num" th:text="${#numbers.form ...
- iOS 把数据库文件打包到mainbundle中,查找不到路径的解决的方法;以及在删除bundle中文件的可行性
在开发中有时我们须要把数据库文件打包到我们的项目中.一般我们都是在外部用工具生成数据库文件,然后拉入项目中.可是我们在程序中查找改文件时.返回的路径总是nil 解决的方法: 原因我们拉入其它资源文件( ...
- IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404
IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404 .embody{ padding:10px 10px 10px; margin:0 -20px; borde ...
- 力扣 - 剑指 Offer 12. 矩阵中的路径
题目 剑指 Offer 12. 矩阵中的路径 思路1(回溯.DFS) 这题可以使用回溯+递归来解决,思路如下: 将二维数组的每一个元素都作为起点进行回溯查找 每次查找的时候,都有四个方向,但是上一个方 ...
- JavaWeb中读取文件资源的路径问题
在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileInputStrem等文件字节.字符流来将这个文件读取到内存 ...
- WPF 中资源路径的问题
WPF 中资源路径的问题 1. 引用当前工程的资源(注意xxxx.png的build action 应设置为Resource 或Embedded Resource) <ImageBrush Im ...
- JavaWeb中读取文件资源的路径问题 -- 转自新浪博客
在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileInputStrem等文件字节.字符流来将这个文件读取到内存 ...
- SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法
.NET 中 SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法: 一. 1.将项目逐个进行编译, ...
随机推荐
- java开发中几种常见的线程池
线程池 java.util.concurrent:Class Executors 常用线程池 几种常用的的生成线程池的方法: newCachedThreadPool newFixedThreadPoo ...
- MarioTCP:一个单机可日30亿的百万并发长连接服务器
原文:http://blog.csdn.net/everlastinging/article/details/10894493 注:如果用此服务器做变长data的传输,请在业务处理函数中为input ...
- LeetCode(62)-Two Sum
题目: Given an array of integers, return indices of the two numbers such that they add up to a specifi ...
- java学习日记-基础-列出2~100内的素数
素数的概念:一个整数如果只能整除1和它本身,那么这个整数就是一个素数 方法一:素数是除去能被2整除.3整除.5整除.7整除的整数,但包含2,3,5,7 public class Sushu { pub ...
- Java——接口
被interface修饰的类,叫接口接口里的方法都是抽象的,不能实现.用implements关键字可以让一个类来实现该接口.接口:一个类在继承另一个类的同时.还可以实现多个接口.接口的出现避免了单继承 ...
- Day14 JavaScript
区分: JavaScript和JAVA一点关系没有,是一门单独的语言.(浏览器就是JavaScript的解释器) JavaScript代码存在形式: #这些代码一般都是在<head>< ...
- 关于在IJ中使用maven projects 的Lifecycle中打包package报expected START_TAG or END_TAG not TEXT
报错指定到maven本地仓库下的settings.xml某一行,如下列JDK配置: <profiles> <profile> <id>jdk-1.8</ ...
- DDGScreenShot —图片加各种滤镜高逼格操作
写在前面 图片加各种滤镜操作,当然苹果给开发者提供了相关的api和封装, 大部分开发者感觉这是这是晦涩难懂的,接下来就让我们来了解一下, 其实也没有那么深不可测. 代码如下(每一步已经解释的很详细) ...
- myEclipse 配置tomcat清除缓存
-Xms256m -Xmx512m -XX:MaxNewSize=64m -XX:MaxPermSize=128m
- php判断图片是否存在的几种方法
在我们日常的开发中,经常需要用到判断图片是否存在,存在则显示,不存在则显示默认图片,那么我们用到的判断有哪些呢?今天我们就来看下几个常用的方法: 1.getimagesize()函数 getimage ...