好的-所以我已经写了这段代码,用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被用来获取这些值。我在试着去掉多余的代码。
这样做有什么问题吗?
发布于 2012-05-30 01:00:53
不,尽管对于将变量公开到JS的最佳方式是什么,意见不一。
然而,我发现上面的内容不明显,也很难读懂。如果有一种使用JSON的方法,我可能更喜欢它,而不是构建一个以竖线分隔的字符串,或者我会将它包装在一个自定义标记中,该标记将所有这些都抽象出来,这样普通读者就不必做任何心理上的操练了。
另一种选择是在Java代码中构建分隔字符串并直接公开它。
https://stackoverflow.com/questions/10803359
复制相似问题