0

我已经成功运行了一个基于 FORM 的身份验证项目,并尝试对 icefaces 项目做同样的事情。换句话说,我想使用 ice:form 而不是 form,所以我想知道是否可以将登录请求重定向到托管 bean 中的 j_security_check:

public void myMethod(ActionEvent e){
  //some code that redirects to j_security_check
}

在我的登录页面中:

<ice:commandButton value="login" ActionListener="#{myBean.myMethod}"/>

但我真的不知道该怎么做,我也没有找到关于 j_security_check 及其实际工作原理的文档。

4

1 回答 1

0

您可以拥有一个带有action="j_security_check", 的表单,其中包含包含用户名和密码的文本字段或隐藏字段。您可以将这些字段绑定到托管 bean 中的变量。您可以在表单中使用提交按钮而不是<ice:commandButton>.

如果必须使用<ice:commandButton>,可以使用 Javascript 发送“myform.submit()”脚本:

public void myMethod(ActionEvent e)
{
      //Some other code...

      JavascriptContext.addJavascriptCall(
            FacesContext.getCurrentInstance(), "document,forms.myForm.submit()");    
}

您还可以在 Javascript 中动态创建表单元素,分配用户名/密码值并提交它,使用JavascriptContext.addJavascriptCall()方法

于 2011-05-27T11:31:00.537 回答