在jsf托管bean中以编程方式创建html组件
我有以下代码:在jsf托管bean中以编程方式创建html组件,html,jsf,Html,Jsf,我有以下代码: <div id="mws-navigation"> <ul> <li><p:commandLink value="#{contentMB.msg.welcome_title.value}" actionListener="#{cleanUpMB.alChangeArea}" styleClass="mws-i-24 i-home" action="#{
<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>
...
...
? 一个简单的方法是从支持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>";
}
}
@Named
@请求范围
公共类HtmlController实现可序列化{
私有静态最终长serialVersionUID=1L;
公共字符串getSomeHtml(){
返回“来自bean的一些HTML”;
}
}
并将其粘贴到JSF部分:
<h:outputText value="#{htmlController.someHtml}" escape="false" />
但我认为对于您的情况,最好创建您自己的组件,在那里您还可以对支持bean进行一些绑定。我们可以找到一个例子,或者看看下面的例子