代码示例
'someproc'是一个自定义处理器,它扩展了来自broadleaf平台的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。为什么变量$ objectAddedToModelAndView不是NULL,并且可以访问:每个循环?
我做错了什么?是我想念的东西吗?
EDIT1 :已关闭的条件表达式。这不是问题的原因,它只是一个糟糕的代码样本。
EDIT2 :结果显示已关闭的课程。
EDIT3 :Forogot提到$ someVars是一个从控制器添加到SpringAndView弹簧的变量。
答案 0 :(得分:0)
好像你没有正确关闭三元函数的条件。在null之后和之前添加一个}在每一行。
以下是来自docs的参考
的示例三元组'User is of type ' + (${user.isAdmin()} ? 'Administrator' : (${user.type} ?: 'Unknown'))