在javascript/Jquery中使用freemarker变量

在javascript/Jquery中使用freemarker变量,javascript,jquery,freemarker,Javascript,Jquery,Freemarker,我在freemarker中声明了一个变量 <#assign myvariable= "value"> 我想,首先,您应该将该变量输出到HTML/JavaScript代码中,如下所示: <script type="text/javascript"> var myvariable = "${myvariable}"; function myfunction(){ alert(myvariable); } </script> var myvariabl

我在freemarker中声明了一个变量

<#assign myvariable= "value">

我想,首先,您应该将该变量输出到HTML/JavaScript代码中,如下所示:

<script type="text/javascript">
var myvariable = "${myvariable}";
function myfunction(){
    alert(myvariable);
}
</script>

var myvariable=“${myvariable}”;
函数myfunction(){
警报(myvariable);
}

您可以直接在JavaScript中使用FreeMarker代码。下面是一个示例代码,其中FreeMarker提供Morris.js图表的数据。我想你会明白的

new Morris.Area({
    element: 'searchTrend',
    resize: true,
    data: [
    <#list searchCount as sc>
    {day: '${sc.date!?string("yyyy-MM-dd")}', count: ${sc.searches}} <#sep>,
    </#list>
    ],
    xkey: 'day',
    ykeys: ['count'],
    labels: ['Count'],
    xLabelFormat: function (x) { return x.getDate(); }
});
新莫里斯区({
元素:'搜索趋势',
调整大小:对,
数据:[
{day:'${sc.date!?字符串(“yyyy-MM-dd”)},计数:${sc.searches},
],
xkey:“一天”,
ykeys:[“计数”],
标签:[“计数”],
xLabelFormat:function(x){return x.getDate();}
});

您可以将freemarker变量分配给HTML输入字段,并使用jquery或document在JavaScript中访问它 这是怎么回事

<input id=“freemarkervar” type=“text or hidden” value=“${myVariable}”/>
<script type="text/javascript">
var val = $(“#freemarkervar”).val();
alert(val);

// using JavaScript   
var val=document.getElementById("freemarkervar").value;  
alert(val);
</script> 

var val=$(“#freemarkervar”).val();
警报(val);
//使用JavaScript
var val=document.getElementById(“freemarkervar”).value;
警报(val);

我们是否需要在“${x}”中加引号?。。那么${x}呢。@AhmadBeg取决于变量内容的类型。如果它是字符串,您应该引用它,如果它是整数或浮点,您可以不使用引号进行处理。这是基本的JavaScript。它不起作用…它只是打印${x}而不是x的值…尝试不带引号even@AhmadBeg是的,您应该将
myvariable
替换为
x
。我的错误。但是你真的应该阅读freemaker的参考手册,这是变量基础。应该是
“${myvariable?js_string}”
,否则如果变量包含引号、换行符等,你就会遇到问题。
<input id=“freemarkervar” type=“text or hidden” value=“${myVariable}”/>
<script type="text/javascript">
var val = $(“#freemarkervar”).val();
alert(val);

// using JavaScript   
var val=document.getElementById("freemarkervar").value;  
alert(val);
</script>