2011-08-17 54 views
0

我想调用下面的一个CFM页面的Java方法,我似乎无法得到它。另外我需要从CF会话变量中设置值。如何在ColdFusion 8中调用java方法并将coldfusion会话变量传递给它?

Provider.sendResponse(getServletContext(),response,IntegrationIDs.AuthnContextClasses.name,userName,attributes);

非常感谢您的帮助。

这里是我的代码示例

<cfset Obj = createobject("java","com.blah.blah.blah.Provider")/> 

<cfset servletContext = /> 
<cfset response = /> 
<cfset serverName = SESSION.server/> 
<cfset authnContext = /> 
<cfset uid = SESSION.uid /> 
<cfset attributes = /> 
<cfset targetUrl = http://yyy.com/> 

<cfset Obj_value = Obj.sendResponse(
      javax.servlet.ServletContext servletContext, 
      javax.servlet.http.HttpServletResponse response, 
      java.lang.String ServerName, 
      java.lang.String authnContext, 
      java.lang.String uid, 
      java.util.Map<java.lang.String,java.util.List<java.lang.String>>attributes, 
      java.lang.String targetUrl)/> 

上午我处理这个错误的方式。提前感谢您的帮助。非常感谢。

回答

0

您的示例没有显示实际的对象调用。我应该看到类似于createobject(“java”,“com.blah.blah.blah.classname”)。init()后跟varialbes的“setup”来传递......就像“Repsonse = session.somevariabl”一样......你提供的例子太不完整,无法确切知道你被困在哪里。

要访问会话变量,请使用“session.XXX”。会话就像一个哈希表或向量(CF惯例中的一个“结构”)。如果 “用户名” 被存储在会话你上面的例子可以看起来像

Provider.sendResponse(getServletContext()方法,响应,IntegrationIDs.AuthnContextClasses.name,session.Username,属性);

但随着更多一点的示例代码去我不知道你需要什么问题解决:)

0

你不需要在调用定义的参数类型。你很困惑地调用一个方法来定义一个方法。

<cfset Obj_value = Obj.sendResponse(
     servletContext, 
     response, 
     ServerName, 
     authnContext, 
     uid, 
     attributes, 
     targetUrl)/> 
相关问题