2013-08-30 9 views
0

代码示例Thymeleaf对象是使用日时取得空:每粒是入店仅ouside日:每个

“someproc”是延伸org.broadleafcommerce.common.web.dialect一定制的处理器.AbstractModelVariableModifierProcessor来自broadleaf平台。

<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 beeing把NULL变成了th:each loop。为什么变量$ objectAddedToModelAndView不是NULL,并且可以通过th:each循环访问?

我在做什么错了?我错过了什么?

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

EDIT2:将类关闭到结果显示中。

EDIT3:Forogot提到$ someVars是一个从控制器添加到Spring ModelAndView的变量。

回答

0

看起来好像您没有正确关闭三元函数的条件。在空之后和之前添加一个}在每一行上。

下面是从docs一个例子三元参考

'User is of type ' + (${user.isAdmin()} ? 'Administrator' : (${user.type} ?: 'Unknown')) 
+0

感谢答案,但例如但被测试是书面的,但问题是不存在。问题是我们有两种类型的变量,一种是创建到spring控制器中并添加到ModelAndView(objectAddedToModelAndView)对象(它不是null:每个),另一种是使用方法org.broadleafcommerce .common.web.dialect.AbstractModelVariableModifierProcessor#addToModel(objectCreatedInProcessor),它被赋值为th:each循环。 –