0

好的 - 所以我已经编写了这段代码来使用 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 来获取这些值。我试图消除额外的代码。

这样做有什么问题吗?

4

1 回答 1

1

不,尽管对于将变量公开到 JS 中的最佳方法是什么意见不一。

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

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

于 2012-05-29T17:00:53.150 回答