1
我已經接管了一個遺留網站,並且我的spidey感覺代碼氣味對整個網站中使用的表單paramming感到瘋狂。對象的表單參數
例如,我們有一種表單,允許您添加新聯繫人,或者根據URL中存在的iContactId編輯現有聯繫人。所以cfm文件頂部的代碼是。
<cfparam name="form.name" default="">
<cfparam name="form.age" default="">
<cfparam name="form.surname" default="">
<--- More cfparams for every form field--->
<cfif isDefined("URL.iContactId")>
<cfset VARIABLES.contact = contactService.getContact("URL.iContactId")/>
<cfset FORM.name = contact.getName() />
<cfset FORM.age= contact.getAge() />
<cfset FORM.surname = contact.getSurname() />
</cfif>
所以基本上我們拖欠的所有窗體字段爲空,然後填充它們如果iContactId是在URL中。 cfm文件底部的表單使用這些變量。現在
<form>
<input name="name" value="#FORM.name#">
,對我來說,這些技術問題,是有這個網頁上約30表單字段,所以如果我parramming所有表單域,然後設置30個表單字段聯繫人對象值URL.iContactId變量存在。我試圖想出一種方法來消除這種重複 - 也許通過將表單直接映射到對象?
任何想法?
謝謝
嗨,謝謝你的回覆。好像是一個更好的方法。但是,如果我不得不將表單字段設置爲特定的內容,那麼當URL.iContactId不存在時。例如,form.userSmokes = 0.由於空的聯繫人對象不會提供此功能。 – namtax 2010-11-29 12:22:51