java
  • velocity
  • 2017-07-26 2 views 1 likes 
    1

    Je suis en train de créer un tableau JSON:modèle de vitesse - tableau ne pas ajouter des guillemets - essayer de créer tableau JSON

    #set ($arrayCarousel = []) 
    #foreach ($image in $product.images) 
        #set ($index = $index + 1) 
        $arrayCarousel.add(" 
        <div class='carousel__slide u-center'> 
         <img id='${index}' data-code='${product.code}' class='main_image' src='${image}' data-count='$!{product.viewCount}' /> 
        </div>" 
    ) 
    #end 
    
    <script id="prog-img-${product.code}" type="text/cycle"> 
        ${arrayCarousel} 
    </script> 
    

    Cependant, il ne crée pas des guillemets autour de chaque élément du tableau. Assez nouveau pour les modèles de vélocité, mais en essayant de comprendre cela.

    Répondre

    0

    Que pensez-vous de cela?

    $arrayCarousel.add("${esc.q} 
        <div class='carousel__slide u-center'> 
         <img id='${index}' data-code='${product.code}' class='main_image' src='${image}' data-count='$!{product.viewCount}' /> 
        </div>${esc.q}" 
    ) 
    

    esc est une référence à un outil Velocity EscapeTool.

    Ce que vous faites est d'ajouter une chaîne à une liste Java. Cette chaîne est délimitée par des guillemets comme d'habitude. Si vous souhaitez que la valeur contienne également des guillemets doubles, vous devez les ajouter, échappés.

    Ce code est incroyablement fragile, cependant. Si product.code ou image contient un guillemet double, il va casser votre JSON. Notez également que vous utilisez ArrayList.toString() avec une représentation très similaire à un tableau JavaScript valide. Cela semble aussi un peu fragile.

     Questions connexes

    • Aucun problème connexe^_^