วันศุกร์ที่ 4 มิถุนายน พ.ศ. 2553

การเพิ่ม page ใน OFBiz

webapp ของ OFBiz อาศัยหลักการ MVC หรือ Model-View-Controller ในการแสดงผล โดยแยกออปเจคที่เก็บข้อมูล (model) ออปเจคที่แสดงข้อมูล (view) และออปเจคที่ติดต่อกับผู้ใช้ (controller) ออกจากกันอย่างชัดเจน โดย webapp ใน OFBiz จะมีไฟล์ชื่อ controller.xml ในโฟลเดอร์ WEB-INF เป็นตัวกำหนดว่าจะเรียก view ไหนขึ้นมาแสดงผล เมื่อถูก request ผ่านทาง url

ทดลองสร้าง views ขึ้นมาใน webapp ของ component โดยสร้างไฟล์ชนิด ftl ดังนี้
หมายเหตุ ftl เป็นไฟล์ชนิด free marker template engine

1. เลือก File > New > Others > Web > Html page
2. ตั้งชื่อไฟล์ เช่น testpage จะได้ไฟล์ testpage.html
3. ทำการ rename นามสกุลไฟล์เป็น .ftl จะได้ไฟล์ testpage.ftl
4. ในไฟล์ controller.xml ทำการสร้าง request-map ดังนี้

<request-map uri="testpage">
    <security auth="true" https="false">
        <response name="success" type="view" value="testpage"></response>
    </security>
</request-map>

อธิบายโค้ด

<request-map uri="testpage"></request-map>

ทำการเซ็ตค่าว่า ถ้าหาก uri ชื่อ testpage ถูก request ผ่าน webapp มา จะให้ทำอะไรบ้าง



security https="false" กำหนดให้ ไม่สามารถเรียกผ่าน https protocol ได้
auth="true" กำหนดให้ต้องมีการ login ก่อน ถึงจะสามารถเรียกใช้ page นี้ได้


response name="success" เมื่อมีการ success ในการเรียกใช้เพจนี้
type="view" ชนิดของ object ที่จะเรียกให้แสดงผลเมื่อถูก request url นี้เป็นชนิด view
value="testpage" ชื่อของ view ที่จะถูกเรียกมาแสดงผล

5. เมื่อทำการเพิ่ม view map ดังนี้



อธิบายโค้ด
view-map name ="testpage" ชื่อของ view นี้
type="ftl" เป็นชนิด ftl
page="component://testtest/webapp/testtest/testpage.ftl" uri ของ view นี้

6. ทดลองเรียกใช้ page ที่สร้างขึ้น โดยเรียกผ่าน url

https://localhost:8443/testtest/control/testpage

เอกสารอ้างอิง
http://www.narisa.com/forums/index.php?showtopic=1036
http://freemarker.sourceforge.net/

ไม่มีความคิดเห็น:

แสดงความคิดเห็น