我想确保看起来像这样的请求:
index.cfm?action = main.data; a = 1; b = 2不会崩溃。现在正试图
的后续行动
在FW / 1上哪里是用分号拦截动作的好地方?
答案 0 :(得分:0)
Matrix params适用于请求uri,而不是查询字符串。如果它们出现在问号之后,它们就不是矩阵参数,所以你问的直接问题实际上没有意义,(因为你有一个无效/腐败的动作变量,因此无论你尝试什么,都可能这是错误的方式 - 但没有更多的细节,很难建议一个更好的方法。)
更通用的“如何在FW / 1选择之前修改操作值? 的答案是:在调用setupRequestDefaults
之前,这意味着在调用onRequestStart
之前,这意味着用您自己的版本覆盖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
是一个执行任何需要的函数(在这种情况下,ListFirst(string,';')
会这样做。)
但同样,这很可能不是实现你想要做的任何事情的最好方式。