将JSP值输出到JavaScript变量中

时间:2012-05-29 16:46:21

标签: javascript jsp

好的 - 所以我已经使用JSP编写了这段代码来输出值并将它们设置为JS变量,因此我可以将它们传递给我的Google Analytics跟踪代码。

<dsp:droplet name="/atg/dynamo/droplet/ForEach">
            <dsp:param value="${CommerceItems}" name="array" />
            <dsp:param name="elementName" value="CommerceItem" />
            <dsp:oparam name="outputStart">var itemCatList ='</dsp:oparam>
            <dsp:oparam name="output"
                <dsp:getvalueof id="Category"param="CommerceItem.auxiliaryData.productRef.productWebType.productWebTypeDescription">${Category}|</dsp:getvalueof>
            </dsp:oparam>
            <dsp:oparam name="outputEnd">'; </dsp:oparam>
        </dsp:droplet>

我不确定这是否是正确的方法 - 以前将值设置为隐藏输入 - 然后JS用于获取这些值。我试图消除额外的代码。

这样做有什么问题吗?

1 个答案:

答案 0 :(得分:1)

不,虽然对于将变量公开给JS的最佳方式的看法是混杂的。

然而,我发现上述不明显且难以阅读。如果有一种方法可以使用JSON,我可能更喜欢这种方式,而不是构建一个以管道分隔的字符串,或者我将它包装在一个自定义标签中,从而抽象出所有这些,这样一个随意的读者就不必做任何心理体操。

另一种选择是在Java代码中构建分隔的字符串并直接公开它。