쿼리 된 매개 변수를 ColdFusion 파일에 여러 번 전달 하시겠습니까?

조 로리

특정 파일 인 email_output.cfm에 cfmail 함수를 설정했습니다.이 파일은 email_output.cfm? ID = 1과 같이 제대로 작동하려면 ID가 전달되어야합니다. 전달하는 데 필요한 다양한 ID를 반환하는 쿼리를 통해 실행되는 크론 작업을 설정하고 싶습니다. 테스트에서 다음을 수행 할 수 있습니다.

  <cflocation url="email_output.cfm?ID=10" >

그러나 cflocation은 다른 모든 실행을 중지하고 다른 페이지를 열기 때문에 반복 할 수 없습니다. 쿼리에서 단일 CF 페이지로 여러 번 매개 변수를 전달하려면 어떻게해야합니까?

감사합니다-조

일반 조

이것의 사용자 정의 태그 샘플 구현 ...

사용자 정의 태그를 처음 사용하는 경우 태그를 호출하는 페이지와 동일한 폴더에 태그를 넣는 것이 가장 쉽습니다. 다른 디렉토리에 넣는 몇 가지 옵션이 있지만 간단하게 시작하겠습니다.

EmailMembers.cfm

<cfquery name="GetUIDs">
  select userid from users
</cfquery>

<cfoutput query="GetUIDs">
  <cf_maileach uid="#userID#">
</cfoutput>

내 태그를 cf_maileach라고 부르는 방법을 아십니까?

같은 디렉토리에 maileach.cfm을 배치합니다. 이름이 어떻게 일치하는지 확인하십시오.

maileach.cfm

<cfif StructKeyExists(attributes,"uid") and val(attributes.uid) gt 0>
  <cfquery name="getinfo">
    select fname,lname,email
      from users
     where userID = <cfqueryparam cfsqltype="cf_sql_integer" value="#attributes.uid#">
  </cfquery>

  <cfmail to="#getinfo.email#" subject="Hi #getinfo.fname#">...</cfmail>
</cfif>

노트

  • cf의 버전과 application.cfc를 사용하는지 여부에 따라 외부 디렉토리에 사용자 정의 태그를 배치하는 몇 가지 방법이 있습니다. 도 있습니다<cfmodule>
  • 이것은 단지 샘플 일 뿐이고,이 기본은 중복 된 것입니다. 저는 asker가 설명한 것을 모방하려고했습니다. 이 샘플에서는 모든 데이터를 가져올 수있는 쿼리를 호출하여 행별로 쿼리하는 데만 사용합니다.
  • 에 익숙하지 않다면 <cfqueryparam>찾아보고, 사용하고, 좋아하세요.

편집 : CFHTTP 메서드는 이러한 목적을 달성 할 수 있지만 몇 가지 문제가 있습니다.

  • 세션은 자동으로 전달되지 않습니다 (요청 서버와 대상 서버가 동일하더라도).
  • 페이지는 브라우저 요청처럼 액세스됩니다. Application / OnRequestEnd가 처리됩니다 (세션 정보도 전달되기 때문에 보안 영역에서 파일에 액세스하는 데 문제가 발생할 수 있습니다.
  • 위의 이유로 페이지는 자체 응용 프로그램 파일이있는 폴더에 있어야 디렉터리 계층 구조에서 그 위에있는 모든 응용 프로그램 파일을 무효화 할 수 있습니다.
  • 1, 2, 3과 싸우려면 애플리케이션 자체 보안과 유사한 보안 계층에서 코드를 작성해야하므로 URL이 발견 되더라도 파일이 취약하지 않게됩니다.
  • cfhttp를 통해 파일을 호출 할 때마다 추가 보안 검사를 호출해야합니다.
  • 상당히 느립니다. 컨텐츠가없는 application.cfc를 사용한 매우 간단한 테스트에서 사용자 정의 태그 메서드는 문자 그대로 <= 1/100 시간에 실행되었습니다. 메서드에 실제 기능이 추가되면 결과의 차이가 달라집니다.

다음은이를 직접 테스트하기위한 샘플 코드입니다.

"safe"폴더의 내용 :

Application.cfc

[ blank file, to negate my testing site's actual application.cfc ]

Testrun.cfm

<cfoutput><cfset starttick = GetTickCount()>
<cfloop from="1" to="20" index="i">
  <cfhttp url="http://mysamesite.com/safe/http.cfm?u=#i#" method="get" result="test">
  #test.filecontent#<br>
</cfloop>
CFHTTP Execution Time: #(GetTickCount() - starttick)#<br><br>

<cfset starttick = GetTickCount()>
<cfloop from="1" to="20" index="i">
  <cf_testtag u="#i#"><br>
</cfloop>
CustomTag Execution Time: #(GetTickCount() - starttick)#<br><br>
</cfoutput>

testtag.cfm

<cfoutput>The ID entered was #attributes.u#</cfoutput>

http.cfm

<cfoutput>The ID entered was #url.u#</cfoutput>

결과 (밀리 초) 각 테스트는 HTTP에서 20 번 통과하고 사용자 지정 태그에서 20 번 통과했습니다.

CFHTTP  Tag
661ms   6ms
1624    5
616     5
460     4
522     6
816     4

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

쿼리 된 매개 변수를 ColdFusion 파일에 여러 번 전달 하시겠습니까?

분류에서Dev

쿼리에서 매개 변수를 여러 번 전달하고 SSRS 보고서 호출

분류에서Dev

ESPER EPL 쿼리에 매개 변수를 전달 하시겠습니까?

분류에서Dev

jQuery Ajax에서 여러 매개 변수를 전달 하시겠습니까?

분류에서Dev

Matplotlib, 한 번에 여러 매개 변수를 설정 하시겠습니까?

분류에서Dev

URL 매개 변수를 AngularJS 컨트롤러에 전달 하시겠습니까?

분류에서Dev

자바 스크립트를 사용하여 삽입 된 iframe에 쿼리 매개 변수 전달

분류에서Dev

여러 AngularJS 지시문 인스턴스에 매개 변수를 전달 하시겠습니까?

분류에서Dev

쿼리에서 여러 기준으로 매개 변수를 설정 하시겠습니까?

분류에서Dev

여러 매개 변수를 사용하여 XML 파일 쿼리

분류에서Dev

read_sql_query를 사용하여 SQL Server 쿼리에 매개 변수 전달

분류에서Dev

여러 단어로 된 문자열을 Google BigQuery의 bq 쿼리 명령에 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

dll에 매개 변수를 전달 하시겠습니까?

분류에서Dev

CakePHP : FormHelper를 사용하여 컨트롤러 매개 변수에 검색 쿼리 전달

분류에서Dev

여러 테이블을 쿼리하는 django-쿼리에 매개 변수 전달

분류에서Dev

window.open ()을 사용하여 파일을 열 때 URL 매개 변수 전달 (ColdFusion 페이지에서)

분류에서Dev

루비에서 동일한 매개 변수를 여러 번 전달하는 방법

분류에서Dev

MySQL은 첫 번째 쿼리에서 일치하는 매개 변수 2 개 중 하나를 사용하여 전체 테이블을 쿼리합니다.

분류에서Dev

컴파일러에 전달 된 동일한 매개 변수를 사용하여 cmake에서 명령을 실행하는 방법은 무엇입니까?

분류에서Dev

저장된 프로 시저에서 매개 변수로 쿼리 전달

분류에서Dev

보고서에서 쿼리에 전달 된 매개 변수를 표시하는 방법

분류에서Dev

SPARQL 쿼리에 매개 변수를 전달하는 방법

분류에서Dev

여러 번 실행하기 위해 Java에서 매개 변수로 함수를 전달하는 방법

분류에서Dev

현재 연도의 매개 변수에 전달 된 월의 첫 번째 날을 가져 오는 SQL 쿼리

분류에서Dev

이벤트 핸들러에 추가 매개 변수를 전달 하시겠습니까?

분류에서Dev

속성 파일의 자리 표시자를 Spring 4를 사용하여 전달 된 VM 인수 (-D 매개 변수)로 바꿉니다.

분류에서Dev

기능 파일에서 모든 시나리오를 다른 매개 변수로 여러 번 실행하고 있습니까?

분류에서Dev

두 번째 매개 변수로 전달 된 배열에서 첫 번째 매개 변수의 색인을 리턴하는 함수

분류에서Dev

getJSON으로 json 파일에 전달 된 매개 변수를 처리하는 방법

Related 관련 기사

  1. 1

    쿼리 된 매개 변수를 ColdFusion 파일에 여러 번 전달 하시겠습니까?

  2. 2

    쿼리에서 매개 변수를 여러 번 전달하고 SSRS 보고서 호출

  3. 3

    ESPER EPL 쿼리에 매개 변수를 전달 하시겠습니까?

  4. 4

    jQuery Ajax에서 여러 매개 변수를 전달 하시겠습니까?

  5. 5

    Matplotlib, 한 번에 여러 매개 변수를 설정 하시겠습니까?

  6. 6

    URL 매개 변수를 AngularJS 컨트롤러에 전달 하시겠습니까?

  7. 7

    자바 스크립트를 사용하여 삽입 된 iframe에 쿼리 매개 변수 전달

  8. 8

    여러 AngularJS 지시문 인스턴스에 매개 변수를 전달 하시겠습니까?

  9. 9

    쿼리에서 여러 기준으로 매개 변수를 설정 하시겠습니까?

  10. 10

    여러 매개 변수를 사용하여 XML 파일 쿼리

  11. 11

    read_sql_query를 사용하여 SQL Server 쿼리에 매개 변수 전달

  12. 12

    여러 단어로 된 문자열을 Google BigQuery의 bq 쿼리 명령에 매개 변수로 전달하는 방법은 무엇입니까?

  13. 13

    dll에 매개 변수를 전달 하시겠습니까?

  14. 14

    CakePHP : FormHelper를 사용하여 컨트롤러 매개 변수에 검색 쿼리 전달

  15. 15

    여러 테이블을 쿼리하는 django-쿼리에 매개 변수 전달

  16. 16

    window.open ()을 사용하여 파일을 열 때 URL 매개 변수 전달 (ColdFusion 페이지에서)

  17. 17

    루비에서 동일한 매개 변수를 여러 번 전달하는 방법

  18. 18

    MySQL은 첫 번째 쿼리에서 일치하는 매개 변수 2 개 중 하나를 사용하여 전체 테이블을 쿼리합니다.

  19. 19

    컴파일러에 전달 된 동일한 매개 변수를 사용하여 cmake에서 명령을 실행하는 방법은 무엇입니까?

  20. 20

    저장된 프로 시저에서 매개 변수로 쿼리 전달

  21. 21

    보고서에서 쿼리에 전달 된 매개 변수를 표시하는 방법

  22. 22

    SPARQL 쿼리에 매개 변수를 전달하는 방법

  23. 23

    여러 번 실행하기 위해 Java에서 매개 변수로 함수를 전달하는 방법

  24. 24

    현재 연도의 매개 변수에 전달 된 월의 첫 번째 날을 가져 오는 SQL 쿼리

  25. 25

    이벤트 핸들러에 추가 매개 변수를 전달 하시겠습니까?

  26. 26

    속성 파일의 자리 표시자를 Spring 4를 사용하여 전달 된 VM 인수 (-D 매개 변수)로 바꿉니다.

  27. 27

    기능 파일에서 모든 시나리오를 다른 매개 변수로 여러 번 실행하고 있습니까?

  28. 28

    두 번째 매개 변수로 전달 된 배열에서 첫 번째 매개 변수의 색인을 리턴하는 함수

  29. 29

    getJSON으로 json 파일에 전달 된 매개 변수를 처리하는 방법

뜨겁다태그

보관