thymeleaf中跳转地址的使⽤
最近在使⽤thymeleaf时,遇到⼀个问题,⽐如要跳转的地址是localhost:8080/pro/a/b,跳转后发现变成了localhost:8080/pro/path/a/b,这样地址中多了个path,显然是错误的。其实在跳转地址前加 / 和不加 / 是不⼀样的。页⾯跳转地址前加 /,意味着跳转到项⽬的根⽬录,不加 / ,意味着从当前页地址跳转。
解决的办法也很简单,只要获取上下⽂路径就可以了。由于使⽤的thymeleaf下⾯jsp⼀笔带过。
下⾯是各种跳转的⽅式。
1.jsp
jsp获取上下⽂路径:下⾯只是jsp获取上下⽂路径的⼀种⽅式
<%@ taglib prefix="c" uri="java.sun/jsp/jstl/core" %>
<c:set var="basePath"
 value="${quest.scheme}://${quest.serverName}:
${quest.serverPort}${tPath}" />
使⽤⽰例:<html><a href="${basePath}/jsp/index.jsp"></a></html>
2.thymeleaf
2.1.ajax
在thymeleaf中使⽤ajax提交,url:[[@{/index/ajaxtest}]]这样就可以。
$.ajax({
async:true,
url:"[[@{/findById/}]]"+id,
type:"POST",
success:function(data){
alert("操作成功!");
}
})
2.2.form表单提交
<form class="form-group" th:action="@{/login}" method="post">
<div class="form-group">
<label>⽤户名</label>
<input class="form-control" name="userName" type="text" placeholder="">
</div>
<div class="form-group">
<label>密码</label>thymeleaf用法
<input class="form-control" name="password" type="password" placeholder="">
</div>
<div class="text-right">
<button class="btn btn-primary" type="submit">登录</button>
<button class="btn btn-danger" data-dismiss="modal">取消</button>
</div>
</form>
2.3.a标签
<a th:href="@{'searchInfo/'+${info.id}}">查看</a>
这样使⽤thymeleaf会⾃动获取上下⽂参数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。