哪种方法更适合此目的 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 方法。
而且也不可能像设计的那样在锚元素中获取这个标签<i class="fa fa-sign-out"></i>
。
我希望,我很清楚,我该如何解决这个问题?拥有一个 jsf-link-compenent 或任何其他技术(jsf,primefaces),可以呈现类似<a href="#"><i class="fa fa-sign-out"></i>Logout</a>
我更喜欢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
属性来获得相同的效果。
【讨论】:
我使用了commandLink
的styleClass
属性,但我看起来不像设计师的链接。我会尝试输出文本。谢谢
不适用于outputText
和styleClass
attribute
我这样做<h:link outcome="/login.xhtml"> <f:param name="logout" value="true"/> <i class="fa fa-sign-out"></i> #msg['dashboard.toprow.logout'] </h:link>
以上是关于哪种方法更适合此目的 commandLink 或 outputLink 或 Link [重复]的主要内容,如果未能解决你的问题,请参考以下文章
哪种 DATATYPE 更适合使用 TEXT 或 VARCHAR?