Javascript 获取Thymeleaf${pageContext.request.contextPath}的语法是什么
我一直在努力搜索类似JSTLONE的语法Javascript 获取Thymeleaf${pageContext.request.contextPath}的语法是什么,javascript,spring-mvc,thymeleaf,Javascript,Spring Mvc,Thymeleaf,我一直在努力搜索类似JSTLONE的语法${pageContext.request.contextPath}, 我确实编写了一个javascript代码来更改表单上的action属性,以调用spring控制器上的edit方法,因此,问题是下面的代码在没有先调用上下文的情况下无法工作,比如${pageContext.request.contextPath}/edit.html <script th:inline="javascript"> function edit() {
${pageContext.request.contextPath}
,我确实编写了一个javascript代码来更改表单上的action属性,以调用spring控制器上的edit方法,因此,问题是下面的代码在没有先调用上下文的情况下无法工作,比如
${pageContext.request.contextPath}/edit.html
<script th:inline="javascript">
function edit() {
document.getElementById("user_form").action = "/edit.html";
}
</script>
函数编辑(){
document.getElementById(“用户表单”).action=“/edit.html”;
}
那么调用Thymeleaf上下文路径的语法是什么呢?在Thymeleaf中,JSP的
${pageContext.request.contextPath}/edit.html
等价物将是@{/edit.html}
有关更多详细信息,请参阅Thymeleaf文档的一部分
在你的情况下,你会写:
<script th:inline="javascript">
function edit() {
var link = /*[[@{/edit.html}]]*/ 'test';
document.getElementById("user_form").action = link;
}
</script>
函数编辑(){
var link=/*[[@{/edit.html}]*/'test';
document.getElementById(“用户表单”).action=link;
}
Thymeleaf使用/*[[
-]]*/
语法来计算Javascript使用的变量,如果需要静态加载脚本,则不会中断脚本。有关更多详细信息,请参阅部分文档我的和解决方案如下
在Thymeleaf中使用在元元素中写入上下文路径:
<meta name="ctx" th:content="${#httpServletRequest.getContextPath()}" />
以防万一,其他人在寻找我最初的问题时偶然发现了这个问题……为Thymeleaf页面内的页面根设置一个上下文路径变量,以便传递到外部JQuery页面。这里是如何为我工作的…与上面一样,只是留下空白 JSP的老方法
<script >var contextRoot = "${pageContext.request.contextPath}"; </script>
var contextRoot=“${pageContext.request.contextPath}”;
百里香新方法
<script th:inline="javascript"> var contextRoot = /*[[@{/}]]*/ ''; </script>
var contextRoot=/*[[@{/}]]*/'';
和更多信息的链接。。。
(同样取决于IDE,我将脚本设置为两行以上,而不是代码号的同一行。)尝试以下方法:
var BASE_CONTEXT_PATH=$('meta[name=CONTEXT PATH]')。attr(“content”);
基本上下文路径=基本上下文路径.substr(0,基本上下文路径.length-1)代码>
我已经尝试过javascript将它按原样放入呈现页面,不会像第一次使用一样呈现。我错过了添加@{'/url}
解决了我的问题。谢谢。我一直在寻找类似的答案。更可取的是,保持JS的低调。对我来说,这个解决方案在访客页面上使用时会导致Thymeleaf异常(如登录)
<script th:inline="javascript"> var contextRoot = /*[[@{/}]]*/ ''; </script>