Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Jsf 2 如何从Java类访问faces配置的导航案例_Jsf 2_Faces Config_Facescontext - Fatal编程技术网

Jsf 2 如何从Java类访问faces配置的导航案例

Jsf 2 如何从Java类访问faces配置的导航案例,jsf-2,faces-config,facescontext,Jsf 2,Faces Config,Facescontext,在这种情况下,我必须从托管bean访问整个faces配置。更具体地说,我需要访问在faces配置中指定的导航案例列表,并循环浏览它们。 有没有办法得到它们 我发现它有一些很好的方法,可以揭示一些有用的信息。。现在的问题是,如何根据您在问题中指定的标记获取这些NavigationCase的列表,我可以说您使用的是JSF2,因此您可以使用ConfigurableNavigationHandler来获取您要查找的内容 使用ConfigurableNavigationHandler#getNavigat

在这种情况下,我必须从托管bean访问整个faces配置。更具体地说,我需要访问在faces配置中指定的导航案例列表,并循环浏览它们。 有没有办法得到它们


我发现它有一些很好的方法,可以揭示一些有用的信息。。现在的问题是,如何根据您在问题中指定的标记获取这些NavigationCase的列表,我可以说您使用的是JSF2,因此您可以使用
ConfigurableNavigationHandler
来获取您要查找的内容

使用
ConfigurableNavigationHandler#getNavigationCases()
获取导航案例的
Map
,您可以从以下位置获取有关该方法的更多信息:

返回键所在的
地图
值,并在其中设置值 集合中的每个元素都是适用于该元素的NavigationCase

以下是调用该方法的示例:

FacesContext context = FacesContext.getCurrentInstance();
ConfigurableNavigationHandler navigationHandler = (ConfigurableNavigationHandler) context.getApplication().getNavigationHandler();
Map<String,Set<NavigationCase>> navigationCases = navigationHandler.getNavigationCases();
另请参见:

尝试以下代码:

FacesContext ctxt = FacesContext.getCurrentInstance();
ConfigurableNavigationHandler configNavHandler = (ConfigurableNavigationHandler)ctxt.getApplication().getNavigationHandler();
NavigationCase navCase = configNavHandler.getNavigationCase(ctxt,null,"Page");
String toViewId = navCase.getToViewId(ctxt);
FacesContext ctxt = FacesContext.getCurrentInstance();
ConfigurableNavigationHandler configNavHandler = (ConfigurableNavigationHandler)ctxt.getApplication().getNavigationHandler();
NavigationCase navCase = configNavHandler.getNavigationCase(ctxt,null,"Page");
String toViewId = navCase.getToViewId(ctxt);