如何在JavaScript中使用速度变量?

How to use velocity variable in JavaScript?

我正在尝试在我的外部 js 文件中使用来自 velocity 的变量。我也查看了 但这帮助我仅在将它写入 .vm 文件时才在 js 中使用它。

我的速度:

 #set ($testvar= "#include('templates/some.txt')")
 <script type="text/javascript">
    #include("templates/currencyDetail.js")
    var myvar = "${testvar}";    
    </script>

    <body>
        <div class="myConfluenceMacro">
            <fieldset class="parameters hidden">
                <input type="hidden" class="dayDates" value= myvar>
            </fieldset>
        </div>
    </body>

我的 JS:

 $(document).ready(function(){
        $(".myConfluenceMacro").each(function(){

            var dayDates = $(this).find("input.dayDates").val();

            $(this).html("Hello <b>world!</b>" + dayDates );
        });
    });

当我打印出来时,我只得到

$!{testvar}

作为输出,但不是我的值...它必须是 json 还是我可以发送我从 .txt 文件中读取的字符串?

谢谢!

您可以使用 value="$testvar".

将速度 variable 直接设置为 inputvalue

您的模板代码应该是这样的:

#set ($testvar= "#include('templates/some.txt')")
<body>
    <div class="myConfluenceMacro">
        <fieldset class="parameters hidden">
            <input type="hidden" class="dayDates" value="$testvar">
        </fieldset>
    </div>
</body>

在你的 JS 中:

$(document).ready(function(){
        var dayDates = $("input.dayDates")[0].value;
        $(this).html("Hello <b>world!</b> " + dayDates );
});

您可以查看 Velocity Reference Miscellany docs 了解更多详情。