我想确保请求看起来像:
index.cfm?action=main.data;a=1;b=2 不会崩溃。现在它正试图
这是对是否可以在 ColdFusion 中访问矩阵参数(以分号分隔的名称-值对)的后续操作?
在 FW/1 上,哪里是拦截分号操作的好地方?
我想确保请求看起来像:
index.cfm?action=main.data;a=1;b=2 不会崩溃。现在它正试图
这是对是否可以在 ColdFusion 中访问矩阵参数(以分号分隔的名称-值对)的后续操作?
在 FW/1 上,哪里是拦截分号操作的好地方?
矩阵参数适用于请求 uri,而不是查询字符串。如果它们出现在问号之后,它们就不是矩阵参数,所以你问的直接问题没有意义,(因为你有一个无效/损坏的动作变量,因此无论你尝试什么都可能很好是错误的方法——但如果没有更多细节,很难提出更好的方法)。
更一般的“如何在 FW/1 拾取它之前修改操作值?”的答案。是: beforesetupRequestDefaults
被调用,这意味着 beforeonRequestStart
被调用,这意味着用你自己的覆盖 FW/1 版本,比如......
function onRequestStart ( string targetPath )
{
var ActionVar = variables.framework.action;
if ( StructKeyExists(Url,ActionVar) ) Url[ActionVar] = fiddleWithAction(Url[ActionVar]);
if ( StructKeyExists(Form,ActionVar) ) Form[ActionVar] = fiddleWithAction(Form[ActionVar]);
super.onRequestStart( argumentcollection=arguments );
}
一个函数在哪里fiddleWithAction
做任何需要做的事情(在这种情况下,aListFirst(string,';')
会做)。
但同样,这很可能不是实现您想要做的任何事情的最佳方式。