当xpage加载到浏览器中时,它会检查引用者是否包含字符串“TranslateForm”。
return facesContext.getExternalContext().getRequest().getHeader("Referer");
如果它不包含我的字符串,它会重定向到URL“Home?RequestCert& SubmitCert& TranslateForm = CertSubmitTranslation”,然后重定向到它通过初始测试的xpage。我可以轻松地从Home表单中获取信息,该表单从智能卡中捕获信息(例如CommonName),然后通过附加字符串“?CN =”+ document.forms [0] .CommonName.value >将其作为URL参数传递。 p>
然后,我可以显然捕获该附加值,并在处理xpage时执行我想要的操作。 我想要做的是捕获CommonName字段并将其保存在后端而不使用URL参数。我不希望用户能够看到它或在源中查找隐藏字段。
答案 0 :(得分:0)
行。我为解决这个问题所做的是在启动页面时使用URL参数:
document.location = "/path/db.nsf/xpage.xsp?CN=" + document.forms[0].CommonName.value;
我创建了一个值为0的Counter字段。
然后,在xpage的BeforePageLoad事件中,我运行了一个脚本,首先确定Counter是否为0.如果Counter仍为0,那么我测试了URL中是否有该参数。 如果是这样,我将该值写入后端文档,递增计数器并保存。
document1.replaceItemValue("CI", context.getUrlParameter("CI"));
然后在没有URL参数的情况下以编辑模式重新加载xpage /文档。