<h:outputLink>Bir fullworthy HTML vermektedir <a>düzgün URL ile eleman hrefbir 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 onclickbir (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=trueParametre <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 hrefait <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 @PostConstructa @RequestScopedveya @ViewScoped @ManagedBeansöz konusu hedef sayfaya eklenmiş olan ön işleme işini yapabilirsiniz . Fasulye özellikleri olarak GET parametrelerini kullanabilir @ManagedPropertyveya <f:viewParam>ayarlayabilirsiniz.
Ayrıca bakınız:
UICommandbileşene yalnızca bileşenlerin girmesi gerekirUIForm.