Wednesday, 11 July 2007

ความเหมือนที่แตกต่าง ของ JSF Value Expresstion และ Expression language (EL) ของ JSP

JSF Value Expresstion เทียบได้กับ Expression language (EL) ของ JSP
หรือมองง่าย ๆ ก็คือ Value Expression เป็น EL ของ JSF
โดยที่ EL นั้นสามารถนำมาใช้ใน JSF ได้แต่ว่ามันจะมีอะไรบางอย่างที่ต่างกัน

${...} นั้นจะมีลักษณะเป็น immediate evaluation คือจะทำงานเมื่อ aplication server นั้นกำลังประมวณผลหน้า page
ส่วน #{...} นั้นจะมีลักษณะเป็น deferred evaluation คือ Application นั้นจะอ่าน expression ตัวนี้เก็บไว้ก่อนแล้วจะทำการประมวลผล expression นั้นเมื่อต้องการที่ใช้จริงๆ

ซึ่งจากกฎด้านบนเราจะได้ว่าเราจะใช้ Value Expression ก็ต่อเมื่อเรามีการใช้ UI component
แล้วอ้างถึง properties ของ Bean
และเราจะใช้ EL เมื่อมีลักษณะการใช้ที่เป็น immediate evaluation อย่างเช่น JSTL (JSP Standard Tag Library) ซึ่งพวกนี้จะต้องทำงานไปพร้อมๆกับการประมวลผลของหน้า page นั้นๆ

บทความที่เกี่ยวข้อง

2 comments:

Snake said...

"..อย่างเช่น JSTL (JavaServer Pages Standard Template Library).."

แก้ไขเป็น JSTL = JSP Standard Tag Library

Mr. Invert prahs said...

ขอบคุณครับสำหรับคำแนะนำ