gpt4 book ai didi

javascript - 混合 Freemarker 和 jQuery

转载 作者:行者123 更新时间:2023-11-28 07:49:25 25 4
gpt4 key购买 nike

我的页面上有一个 freemarker 模板和 jQuery。该问题与使用 $ 进行评估的两种语言有关

Freemarker 模板

<#assign mode = app.mode>
<#assign namespace = app.namespace>
<#if mode =="view">
<script>
// execute some script..
<script>
<#elseif mode == "edit">
<script>
${namespace}init();
function ${namespace}init(){
//init code..
}
<script>
</#if>

在脚本标签中,我想为函数命名空间,但我得到命名空间未定义。我认为它的jquery试图评估${namespace},但我希望freemarker评估它,以便该函数可以命名空间

知道如何实现这一目标吗?

最佳答案

由于 FreeMarker 是一种服务器端模板语言,因此在 JavaScript/jQuery 启动之前,表达式 ${namespace} 应该早已消失...换句话说,${namespace} 将被替换为 namespace 变量 (FreeMarker) 包含的任何内容在 jQuery 可以看到它之前...如果查看呈现的页面源代码,您会看到什么?

如果您尝试在函数声明之后调用 namespace_init() 会发生什么(应该不是问题,因为您没有将函数分配给变量,但谁知道......)

另外,您可以执行以下操作并保存一个<#assign/>:

function ${app.namespace}_init() {
// your init code
}

${app.namespace}_init();

关于javascript - 混合 Freemarker 和 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27030961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com