2019. 9. 16. 16:18
[Coldfusion] 같은 이름의 form element 처리 방법
2019. 9. 16. 16:18 in 팁&테크/Coldfusion
Coldfusion에서 같은 이름의 form element를 전송하면 자동으로 list 형태(,콤마 구분)으로 만들어주는데..
이게 아주 병신같다. form value에 comma가 들어가면 100% 오작동 한다. 아주 쓰레기 언어임.
일반 form 전송인 경우 아래와 같이 하면 array로 받아 올 수 있다.
<cfdump var="#getPageContext().getRequest().getParameterValues('변수명')#"/>
multipart/form-data 인 경우에는 form.getPartsArray()를 사용해야한다.
Coldfusino 서버인 경우
<cfset tmpPartsArray = Form.getPartsArray() />
<cfif IsDefined("tmpPartsArray")>
<cfloop array="#tmpPartsArray#" index="tmpPart">
<cfif tmpPart.isParam() AND tmpPart.getName() eq '변수명'>
<cfoutput>#EncodeForHTML(tmpPart.getStringValue())#</cfoutput>
</cfif>
</cfloop>
</cfif>
Lucee 서버인 경우
var tmpPartsArray = form.getFileItems();
if(!isNull(tmpPartsArray)) {
for(var file in tmpPartsArray) {
if(arguments.formFieldName eq file.getFieldName()) {
return file.getName();
}
}
}