2014-09-23 66 views
1

這是一個簡單的問題,是否可以給組件p:fragment添加樣式?如何將樣式賦予Primefaces中的p:片段?

有沒有在文件(5.0)(雖然我的IDE建議我使用基於庫class,但它不工作)指定p:fragment任何style/styleClass/class屬性。

基本上就是我想要做的是顯示更改爲:

display: inline; 

因爲默認情況下該組件被渲染爲divdisplay: block;

我知道我可以使用id屬性,並給它有一些風格,但我不想這個解決方案,因爲我有多個片段,這將是相當醜陋的。

回答

1

您可以將特定你的CSS像我舉的例子

 <style> 
      div[id$="-fragment"]{ 
       background-color: red; 
      } 
     </style> 
     <h:form>     
      <h:panelGrid columns="2" cellpadding="5"> 
       <p:outputLabel for="ignored" value="Required" /> 
       <p:inputText id="ignored" required="true" /> 
      </h:panelGrid> 

      <p:fragment autoUpdate="true" id="first-fragment"> 
       <h:panelGrid columns="4" cellpadding="5"> 
        <p:outputLabel for="txt" value="Text Value:" /> 
        <p:inputText id="txt" value="#{basicView.text}" /> 
        <p:commandButton value="Submit"/> 
        <h:outputText value="#{basicView.text}" /> 
       </h:panelGrid> 
      </p:fragment> 
      <p:fragment autoUpdate="true" id="second-fragment"> 
       <h:panelGrid columns="4" cellpadding="5"> 
        <p:outputLabel for="txt2" value="Text Value:" /> 
        <p:inputText id="txt2" value="#{basicView.text}" /> 
        <p:commandButton value="Submit"/> 
        <h:outputText value="#{basicView.text}" /> 
       </h:panelGrid> 
      </p:fragment> 
     </h:form> 

希望這有助於。

+0

我會做這個!我認爲這可能是自缺乏片段屬性以來最好的方法。謝謝! – mrganser 2014-09-24 06:18:53

+0

不客氣。 – wittakarn 2014-09-24 06:26:48

0

Primefaces的片段組件用於定義自動部分處理和更新部分,只要ajax請求由後代組件觸發,它不是顯示/樣式內容的組件。

如果您不需要自動處理功能,請使用facelet的ui:fragment組件滿足您的渲染需求,並將其內容放置在div中,您可以根據需要設置其風格。

Hello 
<ui:fragment> 
    <div style="display: inline;">Hello</div> 
</ui:fragment> 
Hello 
+0

儘管我正在嘗試一些解決方法,但我仍需要該功能... – mrganser 2014-09-23 14:20:44

+1

@mrganser嘗試使用Primefaces的outputPanel,它具有'style'和'styleClass'屬性。 – Yannick 2014-09-23 15:26:59

+0

嗯,我知道我可以做到這一點,但我正在使用片段來製作某種形式的「迷你表格」,就像在[showcase]中一樣(http://www.primefaces.org/) showcase/ui/ajax/fragment.xhtml),順便說一下,我只是通過刪除片段並根據按鈕驗證字段來實現[ref](http://stackoverflow.com/questions/8370675/how-到讓驗證,取決於-ON-THE-按壓按鈕)。但無論如何,我認爲與片段更清晰,最初的問題仍然... – mrganser 2014-09-23 18:32:36