哪种方法更适合此目的 commandLink 或 outputLink 或 Link [重复]

Posted

技术标签:

【中文标题】哪种方法更适合此目的 commandLink 或 outputLink 或 Link [重复]【英文标题】:which approach is better for this purpose commandLink or outputLink or Link [duplicate] 【发布时间】:2017-07-15 14:54:30 【问题描述】:

我正在开发一个应用程序,而设计师让我发疯。这是一个带有 primefaces v.6 和 apache tomcat v.7 的 jsf 应用程序。

我有以下来自设计师的 html 代码

<a href="#"><i class="fa fa-sign-out"></i>Logout</a>

当用户点击它时,他会从应用程序中注销。

当我使用commandLink

 <h:form>
    <p:commandLink action="#loginBean.logout" value="Logout"/>                            
</h:form>

它呈现一个带有隐藏输入字段和 HTML 锚点的表单。因此链接看起来不像我的设计师 (CSS)。

当我使用outputLink 这样我就可以拥有一个锚点时,无法调用 bean 方法。

而且也不可能像设计的那样在锚元素中获取这个标签&lt;i class="fa fa-sign-out"&gt;&lt;/i&gt;

我希望,我很清楚,我该如何解决这个问题?拥有一个 jsf-link-compenent 或任何其他技术(jsf,primefaces),可以呈现类似&lt;a href="#"&gt;&lt;i class="fa fa-sign-out"&gt;&lt;/i&gt;Logout&lt;/a&gt;

我更喜欢commandLink,因为它可以调用 bean 方法

欢迎任何帮助

谢谢!

【问题讨论】:

【参考方案1】:

我从未使用过 primefaces 框架,但如果我理解正确的话,p:commandLink 标记有一个 styleClass 属性,您可以用 fa fa-sign-out 类填充该属性。

http://www.primefaces.org/docs/vdl/6.0/core/primefaces-p/commandLink.html

如果这不起作用,您还可以在p:commandLink 中放置一个h:outputText 标记,并使用 outputText styleClass 属性来获得相同的效果。

【讨论】:

我使用了commandLinkstyleClass属性,但我看起来不像设计师的链接。我会尝试输出文本。谢谢 不适用于outputTextstyleClassattribute 我这样做&lt;h:link outcome="/login.xhtml"&gt; &lt;f:param name="logout" value="true"/&gt; &lt;i class="fa fa-sign-out"&gt;&lt;/i&gt; #msg['dashboard.toprow.logout'] &lt;/h:link&gt;

以上是关于哪种方法更适合此目的 commandLink 或 outputLink 或 Link [重复]的主要内容,如果未能解决你的问题,请参考以下文章

哪种数据源更适合Google地图,KML或JSON?

哪种 DATATYPE 更适合使用 TEXT 或 VARCHAR?

哪种协议(FTP 或 HTTP)更适合下载/上传小文件或大文件?

哪种方法更适合基础和分拣速度?

哪种 Windows IPC 方法更适合短命令?

故事板 Segue 与委派。哪种方法更适合在 ViewController 之间传递数据