我正试图在jquery中使用freemarker:
someFtlFile.ftl:
<script type="type/javascript" src="./js/someJqueryFile.js">
someJqueryFile.js:
$('#sometextbox').val('${freeMarkerVal}');
我可以在“someFtlFile.ftl”中使用带有HTML的$ {freeMarketVal},但我无法在文本框中看到freeMarkerVal值。
在jQuery中使用freemarker有什么特殊的方法吗?
答案 0 :(得分:1)
您上面写的内容很好,但请注意您的freemarker将在服务器端进行评估。这意味着你无法操纵javascript中的freemarker内容。但只要你意识到这意味着什么,你可以用自由标记代码分配javascript变量等。以下是好的,但如果您在浏览器中查看源代码,您将看到freemarkerVal的内容。希望这是有道理的。
<script>
var test = '${freeMarkerVal}';
</script>
答案 1 :(得分:0)
尝试使用简单的Javascript:
document.getElementById("sometextbox").innerHTML = '${freeMarkerVal}'
虽然我知道 Freemaker 是一个 Java 但是只是提供了解决方案来阻止你在非常小的事情上使用jQuery,这可以通过Javascript轻松完成。< / p>
答案 2 :(得分:0)
你应该使用这个,因为freemarkerContent可能包含引号,换行符等:
var text = "${freemarkerContent?js_string}";