Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在index.xthml中调用doFilter()_Java_Jsf - Fatal编程技术网

Java 如何在index.xthml中调用doFilter()

Java 如何在index.xthml中调用doFilter(),java,jsf,Java,Jsf,我参与了JSF登录应用程序。这里有两个方法调用doLogin(),其中包括登录逻辑和LoginBean类中的doFilter()。在index.xhtml中有一个名为login的命令按钮,我在这里使用了这个按钮action=“#{loginBean.doLogin}”,因此我可以调用doLogin()。我的问题是,假设您有这样一个托管bean,我如何调用doFilter(): @RequestScoped @ManagedBean public class Login { public

我参与了
JSF
登录应用程序。这里有两个方法调用
doLogin()
,其中包括登录逻辑和
LoginBean
类中的
doFilter()
。在
index.xhtml
中有一个名为
login
的命令按钮,我在这里使用了这个按钮
action=“#{loginBean.doLogin}”
,因此我可以调用
doLogin()
。我的问题是,假设您有这样一个托管bean,我如何调用
doFilter()

@RequestScoped
@ManagedBean
public class Login {

    public Login() {
    }

    public String doLogin() {
    }

    public void doFilter() {
    }
}
如果您需要在
doLogin
中调用
doFilter
方法,只需像在基本编程中那样添加调用:

public String doLogin() {
    //some code here...
    doFilter();
    //more code over here...
}

根据上一个问题:,您混淆了属于Web筛选器的
doFilter
方法和属于托管bean的
doLogin
方法:

  • 当用户激活调用此方法的事件时,FacesServlet将调用
    doLogin
    。例如,UI命令操作:

    
    
  • Web筛选器将调用
    doFilter
    方法。请注意,当且仅当请求URL与Web筛选器中声明的URLPattern匹配时,才会在(Faces)Servlet之前执行筛选器。这意味着:

    • 我们有一个带有URLPattern=“*.xhtml”的过滤器
    • 每次我向
      .xhtml
      发出请求时,都会调用过滤器
    • 调用时,它将执行
      doFilter
      方法(默认方法)
更多信息:

  • 巴卢斯。(我建议您阅读答案中的链接)
  • 在我们的维基页面
  • 在我们的维基页面
  • 巴卢斯
  • 巴卢斯
附带说明:您确实需要学习Java Web开发的基础知识和最佳实践