0

我正在尝试在 jquery 中使用 freemarker,如下所示:

一些FtlFile.ftl:

<script type="type/javascript" src="./js/someJqueryFile.js">

一些JqueryFile.js:

$('#sometextbox').val('${freeMarkerVal}');

我可以在带有 HTML 的“someFtlFile.ftl”中使用 ${freeMarketVal},但我在文本框中看不到 freeMarkerVal 值。

在 jQuery 中使用 freemarker 有什么特别的方法吗?

4

3 回答 3

1

您在上面写的内容很好,但请注意您的 freemarker 将在服务器端进行评估。这意味着您不能从 javascript 操作 freemarker 的东西。但是,只要您意识到这意味着什么,您就可以使用 freemarker 代码分配 javascript 变量等。以下内容很好,但如果您在浏览器中查看源代码,您将看到 freemarkerVal 的内容。希望这是有道理的。

<script>
var test = '${freeMarkerVal}';
</script>
于 2013-07-05T10:18:37.527 回答
0

如果它适用于简单的 Javascript,请尝试此操作:

document.getElementById("sometextbox").innerHTML = '${freeMarkerVal}'

虽然我知道Freemaker是一个Java的东西,但它只是提供了一个解决方案来阻止你在非常非常小的事情上使用 jQuery,而这些事情可以用 Javascript 轻松完成。

于 2013-07-05T10:18:04.070 回答
0

you should use this one,because the freemarkerContent may contain quotation marks, line-breaks,etc:

var text = "${freemarkerContent?js_string}";
于 2016-03-10T04:16:32.987 回答