0

代码示例

'someproc' 是一个自定义处理器,它从阔叶平台扩展了 org.broadleafcommerce.common.web.dialect.AbstractModelVariableModifierProcessor。

<myproc:someproc /> // as a result is objectCreatedInProcessor 
<div th:classappend="${objectCreatedInProcessor==null?'null':'not_null'}></div>
<div th:classappend="${objectAddedToModelAndView==null?'null1':'not_null_1'}></div>

<div th:each="someVar : ${someVars}">
   <div th:classappend="${objectCreatedInProcessor==null?'null':'not_null'}></div>
   <div th:classappend="${objectAddedToModelAndView==null?'null1':'not_null_1'}></div>
</div>

<div th:classappend="${objectCreatedInProcessor==null?'null':'not_null'}></div>
<div th:classappend="${objectAddedToModelAndView==null?'null1':'not_null_1'}></div>

作为输出结果将是:

<div class='not_null'></div>
<div class='not_null_1'></div>
<div>
  <div class='null'></div>
  <div class='not_null_1'></div>
  <div class='null'></div>
  <div class='not_null_1'></div>
  <div class='null'></div>
  <div class='not_null_1'></div>   
</div>
<div class='not_null'></div>
<div class='not_null_1'></div>

假设我们在 $someVars 列表中有三个项目。

问题是,为什么 $objectCreatedInProcessor 将 NULL 设置为 th:each 循环。为什么变量 $objectAddedToModelAndView 没有设为 NULL,并且可以在 th:each 循环中访问?

我做错了什么?有什么我想念的吗?

EDIT1:封闭条件表达式。这不是问题的原因,它只是一个糟糕的代码示例。

EDIT2:封闭类进入结果显示。

EDIT3:忘记提及 $someVars 是从控制器添加到 spring ModelAndView 的变量。

4

1 回答 1

0

似乎您没有正确关闭三元函数的条件。在 null 之后和 ? 之前添加一个 } 在每一行。

这是来自文档的示例三元以供参考

'User is of type ' + (${user.isAdmin()} ? 'Administrator' : (${user.type} ?: 'Unknown'))
于 2013-09-01T04:47:34.660 回答