元素在类型为coldfusion.runtime.J2eeSessionScope的Java对象中未定义



我有在会话变量上使用precisionEvaluate((的代码,但是当我调用该函数时,出现此错误:

元素 emp_nextid_ANE_801 在类类型的 Java 对象中未定义 coldfusion.runtime.J2eeSessionScope.

在代码中,有一个条件是使用 structKeyExists(( 检查此会话变量,但它仍然显示错误。有谁知道为什么它仍然出错?

以下是一些代码:

if( structKeyExists(session,'emp_nextid_#app().getCurrentAgentID()#_#officeID#') 
   AND  val(session['emp_nextid_#app().getCurrentAgentID()#_#officeID#']) GT 0) {
    var nextID = precisionEvaluate(session['emp_nextid_#app().getCurrentAgentID()#_#officeID#']);
    var qData = new Query();
    var sql = "SELECT 1 FROM Employee
               WHERE pers_id = :nextid";
    qData.addParam(name="nextid", value=nextID, cfsqltype="CF_SQL_BIGINT");
    var result = qData.execute(sql=sql).getResult();
}

调用 app((.getCurrentAgentID(( 可能正在生成动态变化的值。在任何情况下,您都可以将代码片段改进为:

var key = 'emp_nextid_' & app().getCurrentAgentID() & '_' & officeID;
if( structKeyExists(session,key) AND val(session[key]) GT 0) {
    var nextID = precisionEvaluate(session[key]);
    ...
    etc.
}

最新更新