【问题标题】:How to use variable sent from modelmap in js render iteration loop如何在js渲染迭代循环中使用从modelmap发送的变量
【发布时间】:2014-11-12 07:59:26
【问题描述】:

我正在将模型图中的变量从 java 控制器发送到这样的视图:

@RequestMapping(value = "/someAction", method = RequestMethod.GET)
public String search(ModelMap model) {
  model.addAttribute("myVariable",true);
  return "myView"; //returns the view 
}

现在我有这个视图文件“myView.html”,我在其中使用了 jsrender,它有一个数据,我像下面给出的那样对其进行迭代。我还需要像这样在迭代中使用“myVariable”:

<script id="iterData" type="text/x-jsrender">
{^{for #data}}
    {{if Name != '-'}}
            {{if Age =='20'}}
               {{if myVariable??}} //This part doesnt work.I wonder how to use it here

                    //Some codes                     

               {{/if}}

            {{/if}}
    {{/if}}
{{/for}}
</script>

谁能帮助我如何在 jsrender 迭代中使用“myvariable”??

【问题讨论】:

  • 不。我们不能在 jsrender 中那样使用它。我们可以在 jsrender 的 for 循环之外使用 {{if myVariable??}} 之类的。但它在 for 循环内不起作用。想知道如何在 jsrender for 循环中使用它
  • 所以我假设模型有一个数组属性,您将其传递给 iterData 模板。你如何调用 iterData 模板?你能显示那行代码吗?这样就更容易回答你的问题了……

标签: java javascript spring web jsrender


【解决方案1】:

我不确定您是否使用 {{for #data}} - 因此我在评论中提出了问题。

但是将变量传递给嵌套模板上下文的一种方法是将模板变量从外部上下文传递到内部上下文:

例如,如果myVariable 是任何外部上下文的属性,您可以这样写:

{{!-- myVariable and someArray are properties on the data at this level--}}

{{for someArray ~myVar=myVariable}} 
  {{if Name != '-'}}
    {{if Age =='20'}}
      {{if ~myVar}}
         ...                     
      {{/if}}
    {{/if}}
  {{/if}}
{{/for}} 

【讨论】:

    猜你喜欢
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    相关资源
    最近更新 更多