如何将c:set变量作为java脚本函数参数传递

时间:2015-07-15 06:30:55

标签: javascript jsp jstl

我使用<c:set>标记将键值设置为key1。

<c:when>
    <c:set var="Key1" value="${key}" />
    <a href="some url" onclick="test(--here I need to pass  'Key1'---)">click here</a>
</c:when>

我需要将此'Key1'作为函数的参数传递。 例如 - onclick=test(--here I need to pass 'Key1'---)

我如何通过?

感谢。

1 个答案:

答案 0 :(得分:0)

JSP是一个HTML代码生成器。 JS是HTML的一部分。

你实际上没有通过&#34;从JSP / JSTL到HTML / JS的变量。你基本上让JSP&#34; print&#34; HTML / JS代码以您想要的方式,包括JS变量。您只需要确保编写JSP代码,使其生成语法上有效的HTML / JS代码输出。

因此,所以:

onclick="test('${Key1}')"

如果变量表示字符序列,请注意单引号的重要性,例如:来自Java String变量。您当然希望它最终生成如下所示的生成的HTML输出(您可以通过右键单击验证,在webbrowser中查看源):

onclick="test('value of variable Key1')"

因此如此:

onclick="test(value of variable Key1)"

如果变量实际上代表一个数字,那么没有单引号就可以正常工作:

onclick="test(${Key1})"

然后应该像这样结束HTML输出:

onclick="test(42)"