rya*_*yan 0 coldfusion http coldfusion-7
是否可以在ColdFusion MX 7中保留GET字段名称的大小写(案例保留在CF9中)?我不知疲倦地搜索了答案,但所有解决方案似乎都是POST特定的,而这是一个GET.
注意我知道RFC2616声明HTTP字段名称不区分大小写,但我们都知道规范的简单性可以偏离......
例:
给出以下ColdFusion脚本(我们称之为' url-case-test.cfm '):
<html>
<body>
<cfoutput>
#structKeyList(url)#
</cfoutput>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
并使用以下参数修饰URL导航到此脚本:
http://localhost:8080/cfusion/url-case-test.cfm?name1=value1&name2=value2&name3=value3
Run Code Online (Sandbox Code Playgroud)
我得到输出:
NAME1,NAME2,NAME3
Run Code Online (Sandbox Code Playgroud)
关于我如何保留案件的任何建议?非常感谢帮助.
另一种选择是使用getParameterMap(),它返回一个区分大小写的参数结构.
<cfset map = getPageContext().getRequest().getParameterMap()>
<cfoutput>#structKeyList(map)#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
我认为你唯一能做的就是解析CGI.QUERY_STRING值.
<cfset paramList="" />
<cfloop list="#CGI.QUERY_STRING#" index="qsparam" delimiters="&">
<cfset paramList=listAppend(paramList,listFirst(qsparam,"=")) />
</cfloop>
<cfoutput>#paramList#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
但是,不要将URL参数作为键存储在结构中,否则您将再次丢失案例.
这显然不太理想,因为您通过cfparam或cfset设置的任何URL值(或任何其他方式操作URL对象)都将丢失.
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |