【问题标题】:Iterate over bean in Javascript?在Javascript中迭代bean?
【发布时间】:2012-07-05 19:24:21
【问题描述】:

我们通常在 jsp 上执行类似 JSTL 的操作....但我现在需要使用 JSON 在 javascript 中设置数据。我将如何在 Javascript/JSON 中做这样的事情

基本上循环一个bean并取出它的参数:

  <c:forEach var="field" items="${detFields}">
      ${field.groupName}
          ${field.breakoutAllowed}           
 </c:forEach>

所以我可以把它放在这样的东西里面:

    "data": [{
        "value": "${field.groupName}"

    }, {

        "value": "${field.breakoutAllowed}"  
    }]

【问题讨论】:

    标签: javascript json jstl


    【解决方案1】:

    看起来您要查找的 JSON 结构是一个对象数组,每个对象都有两个属性:namebreakoutAllowed。将这些数据分配给变量的 JavaScript 可以像这样从 JSP 文件中输出。 (当然,在 &lt;script&gt; 块或等效块内。)

    var output = [
     <c:forEach var="field" items="${detFields}" varStatus="status">
       { 
         "name":"${field.groupName}",
         "breakoutAllowed":"${field.breakoutAllowed}" 
       }
       <c:if test="${not status.last}">,</c:if>
     </c:forEach>
    ]
    

    【讨论】:

    • 我猜这不能写在 JSP 文件的中间,因为整个东西都是 JavaScript 吗?我们可以将值存储在字符串类型的参数中,然后使用 JQuery 引用它们,然后拆分为 JSON……我是不是有点误会了?
    • @ShivKumarGanesh 是的,这会出现在 JSP 中,但我对整个事情有点不清楚。希望编辑澄清一些事情。
    • +1 现在输出一个完美的数组!!!但我仍然会给出另一个解决方案。只要让我知道它是否适合您。
    • 所以我可以像这样将 java cde 直接写入 javascript 中??
    • 我要试试这个家伙
    【解决方案2】:

    希望此代码运行良好并受到您的喜爱。我认为将 scriptlet 写入 JS 是一种奇怪的做法,所以只是提出了另一种接近它的方法。如有需要请评论。

    $(document).ready(function(){
        var k=$('#data').val();
    
        //Convert the value into the required array. Since writing it is JavaScript directly is not a daily practice.
        })
    
        <input type="hidden" id="data" value=
         <c:forEach var="field" items="${detFields}" varStatus="status">
           { 
             "name":"${field.groupName}",
             "breakoutAllowed":"${field.breakoutAllowed}" 
           }
           <c:if test="${not status.last}">,</c:if>
         </c:forEach>
    
         />
    

    【讨论】:

      猜你喜欢
      • 2012-01-28
      • 2011-07-12
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 2012-09-13
      • 2018-01-20
      • 2020-05-11
      • 1970-01-01
      相关资源
      最近更新 更多