1

我有以下代码:

<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>
...

?

4

1 回答 1

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 进行一些绑定。可以在此处找到如何执行此操作的一个示例,或者查看Java EE 6 的教程

于 2012-09-07T07:20:51.857 回答