JSF Life Cycle (วัฏจักรชีวิตของ JSF)
ต้องขอเกริ่นนำเอาไว้ก่อนเลยว่าการอธิบายสิ่งเหล่านี้อาจจะไม่ทำให้มองเห็นภาพซักเท่าไร แต่จะเป็นการให้ข้อมูลเอาไว้ก่อน ซึ่งผมจะอธิบายส่วนเหล่านี้เอาไว้ในบทถัดๆไป พร้อมกับการเขียน code ซึ่งจะทำให้เราเข้าใจในส่วนนี้มากขึ้น
JSF application life cycle ประกอบด้วย 6 ส่วน
1. Restore view phase2. Apply request values phase
3. Process validations phase
4. Update model value phase
5. Invoke application phase
6. render response phase
Phase 1 : Restore view
JSF จะเริ่ม Restore View Phase ในทันทีที่มีการกด link หรือ button
จากนั้น JSF จะรับ request ซึ่งใน Phase นี้ JSF จะทำการสร้าง view ซึ่งจะผูกตัวจัดการ event (event handler) และ validators กับ UI Components และทำการ save ลงใน view ซึ่งอยู่ใน FaceContext instance
Phase 2 : Apply request values
หลังจากที่ component tree ถูกสร้างหรือถูกเก็บใน view component tree แต่ละตัวจะทำการแปลงค่าเพื่อเก็บเป็น request parameter
ถ้าหากเกิด error ในการแปลงค่า จะมี error message ที่ถูกสร้างโดยอัตโนมัติเก็บไว้ใน FacesContext ในรูปแบบ queue ซึ่ง error message เหล่านี้จะถูกแสดงผลใน render response phase
Phase 3 : Process validation
ใน phase นี้ จะเป็น phase ที่ทำการตรวจสอบข้อมูลจากตัว validator ถ้าการ validate ผิดจะทำมี error message ออกมาและจะทำการกระโดดข้ามไปที่ render reponse phase ทันที
Phase 4 : Update model values
หลังจากที่ JSF ได้ทำการตรวจสอบข้อมูลใน phase validation เรียบร้อยแล้ว JSF จะทำการ update ค่าต่างๆลงที่ bean properties ซึ่งก็คือ field ของ java bean ที่ผูกกับ input component
Phase 5 : Invoke application
ใน phase นี้ JSF จะจัดการ event ในทุกๆ application-level เช่น การกด submit form หรือการ link ไปที่หน้าอื่นๆ
Phase 6 : Render response
ใน phase นี้ JSF จะทำการแสดงผลหน้าเพจ หลังจากที่ข้อมูลต่างๆถูกแสดงผลแล้ว จะมีการเก็บ reponse state เอาไว้เพื่อใช้ใน request ครั้งต่อๆไป
จบเรื่อง JSF Life Cycle กันแล้วนะครับ ซึ่งผมจะอธิบายส่วนเหล่านี้พร้อมกับการเขียน code ในส่วนต่อๆไปนะครับ ^ ^