จากในแท็ก actions จะเห็นว่ามีการเรียกใช้ไฟล์ groovy อยู่
ถ้าเราไปดูในไฟล์ groovy เอง เราจะต้องเรียก form-widget ดังนี้ครับ
techDataCalendar = [:]; calendarExceptionDays = []; calendarId = parameters.calendarId ?: request.getAttribute("calendarId"); if (calendarId) { techDataCalendar = delegator.findByPrimaryKey("TechDataCalendar", [calendarId : calendarId]); } if (techDataCalendar) { calendarExceptionDays = techDataCalendar.getRelated("TechDataCalendarExcDay"); } HtmlFormWrapper listCalendarExceptionDayWrapper = new HtmlFormWrapper("component://imas-manufacturing/webapp/imas-manufacturing/routing/CalendarForms.xml", "ListCalendarExceptionDay", request, response); listCalendarExceptionDayWrapper.putInContext("calendarExceptionDays", calendarExceptionDays); context.listCalendarExceptionDayWrapper = listCalendarExceptionDayWrapper;
จุดสำคัญอยู่ตรงนี้ครับ
HtmlFormWrapper listCalendarExceptionDayWrapper = new HtmlFormWrapper("component://imas-manufacturing/webapp/imas-manufacturing/routing/CalendarForms.xml", "ListCalendarExceptionDay", request, response); listCalendarExceptionDayWrapper.putInContext("calendarExceptionDays", calendarExceptionDays); context.listCalendarExceptionDayWrapper = listCalendarExceptionDayWrapper;
ซึ่งตัว calendarExceptionDays ก็เป็นค่าที่ได้ส่งออกไปให้ form ส่วนใน form-widget ก็ทำการแมบค่าเข้าไปเลย ตัวอย่าง ในตัวของฟอร์ม list-name ส่วนตัว listCalendarExceptionDayWrapper จะถูเรียกในไฟล์ .ftl ครับ
สำหรับการแสดงผลเราจะใช้ ไฟล์ .ftl ในการแสดงผลครับ
${listCalendarExceptionDayWrapper.renderFormString(context)}
จุดสำคัญอยู่ตรงนี้ครับ จากการ context มาจากไฟล์ groovy
context.listCalendarExceptionDayWrapper = listCalendarExceptionDayWrapper;
ซึ่งเราจะมาเรียกใช้จากข้อมูลที่ context มาจากไฟล์ groovy
${listCalendarExceptionDayWrapper.renderFormString(context)}
0 comments:
Post a Comment