【问题标题】:Conditionally render template text as bold有条件地将模板文本呈现为粗体
【发布时间】:2016-01-01 05:11:45
【问题描述】:

对于我的收件箱页面,在这个页面用户将能够看到消息,消息将有两种状态(尚未开始,In_progress)..

用户可以看到所有消息的数据表将有 3 列:

Data, title, actions

消息的状态来自于服务。我的任务是在用户尚未打开的每条消息的标题中添加 BOLDED 字样“NEW”。

打开后,状态会变为“in_progress”,粗体字“NEW”会消失。

或者有NEW的想法来使用某种图标。

到目前为止我所做的是:

<p:column headerText="#{msg.title}">
    <h:outputText value="#{task.properties.bpm_status=='Not Yet Started'?'New ':''}" />
    <h:outputText value="#{task.properties.bpm_description}" />
</p:column>

问题是,我无法正确添加 &lt;b&gt;&lt;/b&gt; 以使其加粗或添加图标。

我尝试添加 &lt;b&gt;&lt;/b&gt; arround 'New' 但在这种情况下我得到了错误。

【问题讨论】:

    标签: html jsf conditional-rendering


    【解决方案1】:

    尝试在"style="font-weight:bold"" in h:outputText Tag 中使用以下样式

     <h:outputText value="#{task.properties.bpm_status=='Not Yet Started'?'New ':''}" style="font-weight:bold"  />
    

    我试过了,它对我有用

    【讨论】:

      【解决方案2】:

      您可以使用&lt;ui:fragment&gt; 有条件地呈现模板文本。

      <ui:fragment rendered="#{task.properties.bpm_status eq 'Not Yet Started'}">
          <b>New</b>
      </ui:fragment>
      

      或者,应用样式类。

      <h:outputText value="New" styleClass="new" rendered="#{task.properties.bpm_status eq 'Not Yet Started'}" />
      
      .new {
          font-weight: bold;
      }
      

      通过style 属性使用内联样式是不好的做法,因为它不是抽象的/可重用的。

      【讨论】:

      • 为什么谷歌不能给我这个... :) 谢谢,工作正常。 !
      猜你喜欢
      • 2016-12-27
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多