2012-09-06 109 views
1

程序創建的HTML組件我有一個下面的代碼:在JSF管理的bean

<div id="mws-navigation"> 
    <ul> 
     <li><p:commandLink 
       value="#{contentMB.msg.welcome_title.value}" actionListener="#{cleanUpMB.alChangeArea}" 
       styleClass="mws-i-24 i-home" action="#{welcomeMB.aLoadDashboard}" global="false" /></li> 
     <li><p:commandLink 
       value="#{contentMB.msg.layout_menu_measures.value}" 
       rendered="#{userSessionMB.measureEdit or userSessionMB.measureCreate}" 
       styleClass="mws-i-24 i-table-1" global="false" /> 
      <ul> 
       <li><p:commandLink 
         value="#{contentMB.msg.layout_menu_mm_findMeasures.value}" 
         rendered="#{userSessionMB.measureEdit}" 
         actionListener="#{cleanUpMB.alChangeArea}" 
         action="#{chooseMeasureControllerMB.aChoose}" /></li> 
       <li><p:commandLink 
         value="#{contentMB.msg.layout_menu_mm_newMeasures.value}" 
         rendered="#{userSessionMB.measureCreate}" 
         actionListener="#{cleanUpMB.alChangeArea}" 
         action="#{newMeasureControllerMB.aNew}" /></li> 
      </ul> 
     </li> 
    </ul> 
</div> 

,我想從後盾JSF生成託管bean。我知道,Primefaces存在,我可以使用並結合它們作爲模型Java組件,但我怎麼能生成純HTML標籤:

<ul> 
<div> 
... 

回答

2

一個簡單的辦法是從後臺bean返回一些HTML:

@Named 
@RequestScoped 
public class HtmlController implements Serializable { 

private static final long serialVersionUID = 1L; 

    public String getSomeHtml(){ 
     return "<h1>Some HTML from a bean</h2>"; 
    } 
} 

並粘貼到JSF部分:

<h:outputText value="#{htmlController.someHtml}" escape="false" /> 

不過,我想你的情況可能會更好創建你自己的組件,在那裏你也可以做一些綁定到後臺bean。一個例子如何做到這一點可以找到here或看看tutorial of Java EE 6

+0

第一個解決方案正是我所期待的... – Nikola