Xpages 如何在Domino中从URL获取字符串查询参数

Xpages 如何在Domino中从URL获取字符串查询参数,xpages,lotus-notes,xpages-ssjs,query-parameters,facescontext,Xpages,Lotus Notes,Xpages Ssjs,Query Parameters,Facescontext,一段时间后,我设法从某个API重定向 然而,现在我面临着一个不同的问题 看起来,根本无法从URL获取查询参数 该按钮如下所示: <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> <xp:this.action><![CDATA[#{javascript: var redirectUrl = context.getUrl().toString();

一段时间后,我设法从某个API重定向

然而,现在我面临着一个不同的问题

看起来,根本无法从URL获取查询参数

该按钮如下所示:

 <xp:eventHandler event="onclick" submit="true"
    refreshMode="complete">
    <xp:this.action><![CDATA[#{javascript:
    var redirectUrl = context.getUrl().toString();
    var errorRedirectUrl = context.getUrl().toString();

    var EGRZAuthObject = new ru.iteko.egrz.requestprocessors.EGRZAuthorization();

    //auth which redirects
    EGRZAuthObject.initializeAuthProcess(redirectUrl, errorRedirectUrl);

    print("marker param is " + param.get("marker"));
    print("marker param is " + facesContext.getExternalContext().getRequest().getQueryString());
    print("url " + context.getUrl().toString());

    }]]></xp:this.action>
 </xp:eventHandler>
下面是发生的情况:

  • 在浏览器中,用户通过按下按钮来初始化身份验证过程
  • 然后,
    initializeAuthProcess
    执行对系统a的请求
  • 系统A将我们带到系统B,我们将用户重定向到那里
  • 用户在系统B中完成授权过程
  • 系统B(身份验证后)将用户重定向到我们的系统
  • 它在我们系统的URL中添加了一种称为
    marker
  • 以后,我们应该用这个记号笔做点什么

    问题是我们不知道如何获得标记。它总是为null或空。然而,在浏览器中,在系统B中的身份验证成功完成后,我们始终可以看到它

    我得到以下输出:

    marker param is null
    marker param is 
    url https://oursystem.com/Nav2.xsp
    
    我们还想知道在处理完成后如何将其从URL中删除。但到目前为止,我们至少需要得到它

    我们怎么能做到呢

    提前谢谢

    编辑:

    很明显,代码会立即执行,而无需等待系统B中的用户授权

    例如,如果我们再次按下按钮,我们将有
    marker
    param


    因此,我们需要一种不同的方法,我们应该定义标记,并用它做一些事情。有两个选项:从调用其他系统的返回响应1中选择标记,或将该代码移动到重定向到的页面。如果单击该按钮,将重定向到其他页面。因此,标记的测试应该在5到6之间的回调步骤中进行。如果标记存在,请检入beforeRenderResponse事件,然后您可以对此作出反应

    marker param is null
    marker param is 
    url https://oursystem.com/Nav2.xsp