<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
ส่วนประกอบ