<li 标记内的 JSF ui:insert

JSF ui:insert within an <li tag

我有如下所示的 JSF 模板:

<li> some text 1 </li>
...
<li> some text 100</li>

现在我想在派生文件中设置此元素的 class 属性。因此我尝试添加一个 ui:insert 标签:

<li <ui:insert name="nav.home" /> >

However this throws an exception at startup:
javax.faces.view.facelets.FaceletException: Error Parsing /layout.xhtml: Error Traced[line: 43] 

有什么想法吗?

您可以将这些值存储在(会话范围的)bean 中。

@ManagedBean(name="myBean")
@SessionScoped

public class myJSFBean {

private String attribute;

public String getAttribute() {}

}

如果您需要不同的 class 属性,您可以在支持 bean 中使用某种列表而不是字符串。

要获取值,您可以简单地使用:

<li attributeXY=#{myBean.attribute}></li>

如果您也需要定义 attributeXY,我会尝试在 javascript 中打印整个 html。