2012-05-29 65 views
0

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

<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

不,尽管意见是混合在JS中暴露变量的最佳方式。

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

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

+0

用于消费JSON的+1。 –