我正在使用 JSF,并且每个示例“qwerty”都有一个输出文本,如果满足某些条件,我想以不同的方式显示/格式化。因此,例如,如果:
- cond1 为真,那么我想显示
qwerty - cond1 为假,那么我想显示qwerty
等等。
有办法吗?
我正在使用 JSF,并且每个示例“qwerty”都有一个输出文本,如果满足某些条件,我想以不同的方式显示/格式化。因此,例如,如果:
等等。
有办法吗?
您可以使用三元运算符来根据条件选择要应用的样式:
<h:outputText value="qwerty"
style="#{backingBean.cond1 ? 'text-decoration:line-through;':'fontstyle:italic;'}">
如果您按照内联样式的顺序使用 css 类会更好。祝你好运!
在 EL 中使用“条件”内联也是可能的,请参阅在渲染属性中使用大于逻辑表达式。另请阅读有关在 xhtml 或 javabean 中使用内联的讨论
整洁的方法是创建 CSS 类
<h:outputText value="qwerty"
styleClass="#{backingBean.cond1 ? 'classA' : 'classB'}" />
在类似的情况下,我使用以下
<h:outputText value="yourValueFromYourBeanOrWhatever" styleClass="anArbitraryName#{managedBean.condition}"/>
在我的 CSS 文件中,我定义了类:
.anArbitraryNametrue{}
和
.anArbitraryNamefalse{}
有条件的。在审讯之前你提出条件。如果为真,则返回 t ":" 之前的内容。如果为假,则返回“:”后面的内容。
<h:outputText value="#{condition ? 'true' : 'false'}" />