<h:outputLink>
Bir fullworthy HTML vermektedir <a>
düzgün URL ile eleman href
bir bookmarkable GET isteğini tetikler özniteliği. Yönetilen bir fasulye eylem yöntemini doğrudan çağıramaz.
<h:outputLink value="destination.xhtml">link text</h:outputLink>
<h:commandLink>
Bir HTML vermektedir <a>
bir ile eleman onclick
bir (gizli) POST formu gönderir ve yönetilen fasulye eylem yöntemi çağırabilirsiniz senaryo. Ayrıca bir <h:form>
.
<h:form>
<h:commandLink value="link text" action="destination" />
</h:form>
?faces-redirect=true
Parametre <h:commandLink>
(gereğince POST sonra bir yönlendirme tetikler Sonrası Yönlendirme-Get bağlantı aslında tıklandığında, yalnızca hedef sayfanın bookmarkability artırır (URL "arkasında bir" olmayacak artık) desen) ama değişmez href
ait <a>
bir fullworthy URL olması için eleman. Hala kalır #
.
<h:form>
<h:commandLink value="link text" action="destination?faces-redirect=true" />
</h:form>
JSF 2.0'dan bu yana <h:link>
, bir URL yerine bir görünüm kimliği (navigasyon durumu sonucu) alabilen de vardır . <a>
Uygun URL ile birlikte bir HTML öğesi oluşturacaktır href
.
<h:link value="link text" outcome="destination" />
Öyleyse, SO kullanıcı adı bağlantısı gibi saf ve yer imlerine eklenebilir sayfadan sayfaya gezinme içinse, <h:outputLink>
veya kullanın <h:link>
. Botlar genellikle POST formlarını veya JS kodunu şifrelemediği için bu SEO için daha iyidir. Ayrıca, sayfalar artık yer imlerine eklenebilir olduğundan ve URL artık "bir arkada" olmadığından UX geliştirilecektir.
Gerektiğinde, yapıcıda veya @PostConstruct
a @RequestScoped
veya @ViewScoped
@ManagedBean
söz konusu hedef sayfaya eklenmiş olan ön işleme işini yapabilirsiniz . Fasulye özellikleri olarak GET parametrelerini kullanabilir @ManagedProperty
veya <f:viewParam>
ayarlayabilirsiniz.
Ayrıca bakınız:
UICommand
bileşene yalnızca bileşenlerin girmesi gerekirUIForm
.