我的模板看起来像这样:
<#assign senti = "${scmr.results[model]}">
<#if senti??>
<td>${senti} ---- ${senti.sentimentType}</td>
<td>${senti.score?html}</td>
</#if>
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
POSITIVE(1.0/1) ---- Expected hash. senti evaluated instead to freemarker.template.SimpleScalar on line 5, column 27 in com/addthis/sentiment/sentidemo.ftl.
Run Code Online (Sandbox Code Playgroud)
"----"之前的输出文本表明senti确实是一个有效的java Sentiment对象.方法getSentimentType和getScore存在并正常工作.
那么,为什么我会收到错误?
随着<#assign senti = "${scmr.results[model]}">您已经转换scmr.results[model]为字符串(标量),这就是原因.只要写<#assign senti = scmr.results[model]>.在FreeMarker表达式中,您可以将值注入字符串文字,如"Hello ${name}!"(相同"Hello " + name + "!"),"${someExpression}"就是这种情况.它与JSP不同.
| 归档时间: |
|
| 查看次数: |
24320 次 |
| 最近记录: |