1

我对 PlayFramework 1.2.5 有疑问,我的问题是:

如何使用由 #set{.../} 标签分配的变量到 #{if .../} 标签?

这是我的java代码 - (它有效):

...
renderArgs.put("blockInsert", true);
...

这是我的 htm 代码 - (它有效):

...
#{set allowInsert:"${!blockInsert}" /}
...

使用 ${} 和 #{get/} 读取变量 - (有效):

blockInsert == ${blockInsert}<br/>
allowInsert == #{get 'allowInsert' /}<br/>

在 #{if/} 标签上使用变量 - (效果不好):

using variable from renderArgs - (it works) 
#{if blockInsert}
    cant't insert
#{/if}
#{else}
    can insert
#{/else} 
<br/>

using variable from #{set} tag - (it not works) 
#{if allowInsert}
    can insert
#{/if}
#{else}
    cant't insert
#{/else}
...

当我运行此页面时,输出为:

blockInsert == true
allowInsert == false 

using variable from renderArgs - (it works) cant't insert 
using variable from #set} tag - (it not works) can insert 
4

1 回答 1

1

采用

%{allowInsert=!blockInsert}%

而不是设置。设置标签的结果是一个字符串。或者你调整 if 语句:

#{if allowInsert == "true"}
    can insert
#{/if}
#{else}
    cant't insert
#{/else}
于 2012-10-30T16:52:50.510 回答