2013-07-18 2 views
0

세션 변수 (session.stufailedarray)에서 화면에 정보가 포함 된 배열을 인쇄하는 페이지가 있습니다. 페이지 상단에는 정보를 내보낼 수있는 링크가 있습니다. Firefox, Internet Explorer 및 Chrome에서이 방법을 사용해도 정상적으로 작동합니다. 그러나 사용자는 계속해서 "stufailarray 요소가 세션이 정의되지 않았습니다."라는 오류 메시지가 표시된다고 말합니다. 변수가 화면에 출력 되었기 때문에 변수가 있다는 것을 알았고 디버깅에서 변수를 볼 수 있습니다. 왜 이런 일이 일어날까요? 오류가 발생coldfusion 9 변수가 세션에서 정의되지 않았습니다.

코드 :

<cfset ind=0> 
<cfset anArray=arrayNew(2)> 
<cfloop array="#session.stufailarray#" index="k"> 
    <cfset ind+=1> 
    <cfset session.failed=find("UPDATE FAILED: ", "#k#")> 
    <cfset session.rrr=REFind("\d{9,9}", "#k#")> 
    <cfset idno=mid("#k#", REFind("\d{9,9}", "#k#"), 9)> 
    <cfset failed=mid("#k#", Refind("UPDATE FAILED: ", "#k#"), Len(#k#)-(Refind("UPDATE FAILED: ", "#k#")))> 
    <cfset anArray[ind][1]=#idno#> 
    <cfset anArray[ind][2]=#failed#> 
</cfloop> 

<!--- Set content type. ---> 
<cfcontent type="Application/vnd.ms-excel"> 
<cfheader name="Content-Disposition" value="filename=load_status.xls"> 

<cfoutput> 
    <table cols=2 border=1> 
    <cfloop from="1" to ="#ArrayLen(anArray)#" index="row"> 
     <tr> 
     <td>#anArray[row][1]#</td> 
     <td>#anArray[row][2]#</td> 
     </tr> 
    </cfloop> 
    </table> 
</cfoutput> 
+1

이 코드가'session.stufailedarray'를 참조하는 곳을 보지 못했습니다. –

답변

1

대신이 시도 :

<!--- Set content type. ---> 
<cfset anArray=[]/> 
<cfif isDefined(session.stufailedarray)> 
    <cfset anArray=session.stufailedarray/> 
</cfif> 

<cfcontent type="Application/vnd.ms-excel"> 
<cfheader name="Content-Disposition" value="filename=load_status.xls"> 

<cfoutput> 
    <table cols=2 border=1> 
    <cfloop from="1" to ="#ArrayLen(anArray)#" index="row"> 
     <tr> 
     <td>#anArray[row][1]#</td> 
     <td>#anArray[row][2]#</td> 
     </tr> 
    </cfloop> 
    </table> 
</cfoutput> 

이 사용자가 설정하고 적절하게 응용 프로그램 세션을 사용할 수 있는지 확인합니다.

ColdFusion Administrator The Application.cfc initialization code This.sessionManagement variable or the active cfapplication tag. ColdFusion Administrator, Application.cfc, and the cfapplication tag also provide facilities for configuring session variable behavior, including the variable time-out.

Configuring and using session variables

+0

이것은 오류를 방지하지만 정의되지 않은 세션 변수의 문제를 해결하지 않습니다. –

+0

동의합니다. 자세한 내용이 필요합니다. – Nesha8x8

1

귀하의 질문에 따라, 당신은 session.stufailedarray라는 변수가 있습니다 두 위치에서 그들을 활성화 세션 변수를 사용합니다. 그러나 게시 한 코드 (오류를 생성 함)에는 session.stufailarray이 있습니다. 또한이 오류 메시지가 나타납니다.

"Element stufailarray is undefined is session" 

오류 (set) 변수는 실패한 변수가 시제로 전달되고 오류 변수는 현재 시제임을 유의하십시오.