2012-05-29 66 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。 –