首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cfscript中的cflogin

cfscript中的cflogin
EN

Stack Overflow用户
提问于 2009-11-11 08:29:22
回答 2查看 1.5K关注 0票数 1

我正在尝试学习新的cfscript语法,同时也在使用cflogin。我猜我不能在cfscript中混合使用cf标签,我也看不到一个与cflogin、cflogout、cfloginuser等同的脚本。

为了使用cflogin,我应该调用一个用CF8语法编写的组件吗?

代码语言:javascript
复制
public void function onRequest(required string Page) output="true" {
if (StructKeyExists(url,"logout")) {
 <cflogout>
}
<cflogin>
 local.qryUsr = new Components.Usr.Login(form);
 if (local.qryUsr.Recordcount) {
  <cfloginuser name="#form.UsrName#" password="#form.UsrPassword#" roles="#local.qryUsr.Roles#">
 } else {
  request.errorMessage = "Incorrect login";
  include login/login.cfm;
  return;
 }
</cflogin>
include arguments.Page;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-11 09:23:29

您不能直接混合使用标记和脚本。但是,您可以通过在标签周围编写函数包装器来伪造它:

代码语言:javascript
复制
<cffunction name="logout">
   <cflogout />
</cffunction>

并像这样调用:

代码语言:javascript
复制
logout();

显然,这是一个微不足道的例子。您可能希望在实际代码中指定参数、返回值等。

注意一:不要对接受用户输入的通用查询函数执行此操作,因为您将无法使用cfqueryparam。

注意二:我通常不会这样做。如果我要编写依赖于仅限标签的操作的代码,我会使用标签语法。

票数 8
EN

Stack Overflow用户

发布于 2009-11-11 17:43:33

顺便说一句,在CFLib.org上有一个小的努力在为所有CF标签创建函数。有关更多详细信息,请查看CFMLLib

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1712223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档