JSTL c:选择c:不在JSF页面中工作

考虑以下jstl选择:

  Display Text      

AuthMsgBean = Bean

rw =地图

‘2’=关键


题:

当我只显示#{AuthMsgBean.rw['2'] ne null}值时,它显示正常(true),但是一旦我尝试将值解析为 when标签re – 就像测试总是假的一样。

如果我在测试中输入true( test="true" ),则显示test="true"显示文本test="true"

是否可以在#{AuthMsgBean.rw['2'] ne null}表达式之前评估标记?

如果是这样,有解决方法吗?

JSTL和JSF不像您期望的编码那样同步运行。 在JSF视图构建时,它是JSTL,它首先从上到下运行,以生成仅包含JSF标记的视图。 在JSF视图渲染时,它的JSF从上到下再次运行以产生一堆HTML。

当JSTL轮到运行时, #{AuthMsgBean}显然不在范围内。 当标记放在JSF迭代组件(如时,就会发生这种情况。

无论如何,你不想在这里使用JSTL。 利用JSF rendered attribtue。

  Display Text   

也可以看看:

  • 有条件地显示JSF组件