Jsf 从托管bean动态创建命令链接
我需要根据来自其他地方的内容动态创建命令链接。 当用户单击链接时,它应该调用托管bean中的一个方法,该方法需要知道单击了哪个链接 我可以使用以下代码创建命令链接: JSF:Jsf 从托管bean动态创建命令链接,jsf,Jsf,我需要根据来自其他地方的内容动态创建命令链接。 当用户单击链接时,它应该调用托管bean中的一个方法,该方法需要知道单击了哪个链接 我可以使用以下代码创建命令链接: JSF: 豆子: 公共字符串getDynamicLinks(){ //根据动态内容返回包含一组元素的html字符串 } 这很好,但我无法解决的是我的元素如何调用到bean中。这不是“动态”创建标记的正确方法。为此,您应该使用XHTML,绝对不要使用Java,当然不要在模型中使用一些简单的HTML,并使用escape=“false”
豆子:
公共字符串getDynamicLinks(){
//根据动态内容返回包含一组元素的html字符串
}
这很好,但我无法解决的是我的
元素如何调用到bean中。这不是“动态”创建标记的正确方法。为此,您应该使用XHTML,绝对不要使用Java,当然不要在模型中使用一些简单的HTML,并使用escape=“false”
来表示它。那完全是胡说八道。您基本上是将视图混合到模型中。您需要使模型本身成为动态的,而不是视图。视图必须是静态和哑的。视图必须向世界展示模型。模型本身可以是动态的。通常通过使用灵活的集合来实现这一点,例如列表
,列表
,等等,然后使用迭代器在视图中显示这些集合,例如
或
例如
你看,action方法只需检查method参数就可以知道被按下的链接
另见:
<ui:repeat value="#{bean.links}" var="link">
<h:commandLink value="link" action="#{bean.action(link)}" />
</ui:repeat>
public void action(Link link) {
// ...
}