<h:outputLink>วาทกรรม HTML fullworthy <a>องค์ประกอบที่มี URL ที่เหมาะสมในhrefแอตทริบิวต์ซึ่ง fires ร้องขอ GET บุ๊คมาร์ค ไม่สามารถเรียกใช้เมธอดการดำเนินการ bean ที่มีการจัดการโดยตรง
<h:outputLink value="destination.xhtml">link text</h:outputLink>
<h:commandLink>แสดงผลแบบ HTML <a>องค์ประกอบที่มีonclickสคริปต์ซึ่งยื่น (ซ่อน) แบบฟอร์มการโพสต์และสามารถเรียกใช้วิธีการดำเนินการจัดการถั่ว นอกจากนี้ยังต้องวางไว้ในไฟล์<h:form>.
<h:form>
<h:commandLink value="link text" action="destination" />
</h:form>
?faces-redirect=trueพารามิเตอร์ใน<h:commandLink>ซึ่งก่อให้เกิดการเปลี่ยนเส้นทางหลังจากที่โพสต์ (ตามโพสต์การเปลี่ยนเส้นทาง-รับรูปแบบ) เพียง แต่ช่วยเพิ่ม bookmarkability ของหน้าเป้าหมายเมื่อการคลิกลิงก์จริง (URL จะไม่เป็น "หนึ่งที่อยู่เบื้องหลัง" อีกต่อไป) แต่มันจะไม่เปลี่ยนแปลงhrefของ<a>องค์ประกอบที่จะเป็น URL fullworthy #มันยังคงอยู่
<h:form>
<h:commandLink value="link text" action="destination?faces-redirect=true" />
</h:form>
เนื่องจาก JSF 2.0 ยังมีสิ่ง<h:link>ที่สามารถใช้ view ID (ผลลัพธ์ของกรณีการนำทาง) แทน URL ได้ มันจะสร้าง<a>องค์ประกอบHTML พร้อมกับ URL ที่เหมาะสมในhref.
<h:link value="link text" outcome="destination" />
ดังนั้นถ้ามันเป็นระบบนำทางสำหรับหน้าไปหน้าบริสุทธิ์และบุ๊คมาร์คเช่นการเชื่อมโยงชื่อผู้ใช้ดังนั้นแล้วใช้หรือ<h:outputLink> <h:link>นอกจากนี้ยังดีกว่าสำหรับ SEO เนื่องจากบอทมักจะไม่เข้ารหัสรูปแบบ POST หรือรหัส JS นอกจากนี้ UX จะได้รับการปรับปรุงให้ดีขึ้นเนื่องจากตอนนี้สามารถบุ๊กมาร์กหน้าได้และ URL จะไม่ "อยู่ข้างหลัง" อีกต่อไป
เมื่อจำเป็นคุณสามารถทำงานก่อนการประมวลผลในตัวสร้างหรือ@PostConstructของ@RequestScopedหรือ@ViewScoped @ManagedBeanที่แนบมากับเพจปลายทางที่เป็นปัญหา คุณสามารถใช้@ManagedPropertyหรือ<f:viewParam>ตั้งค่าพารามิเตอร์ GET เป็นคุณสมบัติ bean
ดูสิ่งนี้ด้วย:
UICommandส่วนประกอบเท่านั้นที่ต้องอยู่ในUIFormส่วนประกอบ