문제

나는 새로운 CFScript 구문을 배우고 cflogin을 사용하려고 노력하고 있습니다. CFScript에서 CF 태그를 혼합 할 수 없다고 생각합니다. Cflogin, Cflogout, Cfloginuser와 동등한 스크립트가 표시되지 않습니다.

Cflogin을 사용하기 위해 CF8 구문에 작성된 구성 요소를 호출해야합니까?

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;
}
도움이 되었습니까?

해결책

태그와 스크립트를 직접 혼합 할 수 없습니다. 그러나 태그 주위에 기능 포장지를 작성하여 가짜를 만들 수 있습니다.

<cffunction name="logout">
   <cflogout />
</cffunction>

그리고 전화 :

logout();

분명히, 이것은 사소한 예입니다. 실제 코드에서 인수, 반환 값 등을 지정하려고합니다.

참고 1 : CFQueryParam을 사용할 수 없으므로 사용자 입력을 수락하는 일반 쿼리 기능에 대해서는이 작업을 수행하지 마십시오.

참고 2 : 나는 일반적으로 이것을하지 않습니다. 태그 전용 작업에 의존하는 코드를 작성하는 경우 태그 구문을 사용합니다.

다른 팁

참고로, 작은 노력이 계속되고 있습니다. cflib.org 모든 CF 태그에 대한 함수를 만듭니다. 체크 아웃 cfmllib 자세한 사항은

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top