2012-09-06 53 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