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 从非Jsf页面调用Jsf视图id_Jsf 2 - Fatal编程技术网

Jsf 2 从非Jsf页面调用Jsf视图id

Jsf 2 从非Jsf页面调用Jsf视图id,jsf-2,Jsf 2,我们正在将新应用程序与现有JSP应用程序集成,并尝试重用一些现有功能。 我在faces-navigation.xml中有一个导航规则,比如 <from-view-id>/WEB-INF/jsp/admin/login.xhtml</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/WEB-INF/

我们正在将新应用程序与现有JSP应用程序集成,并尝试重用一些现有功能。 我在faces-navigation.xml中有一个导航规则,比如

<from-view-id>/WEB-INF/jsp/admin/login.xhtml</from-view-id>
<navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/WEB-INF/jsp/admin/welcome.xhtml</to-view-id>
</navigation-case>
<navigation-case>
    <from-outcome>admin</from-outcome>
    <to-view-id>/WEB-INF/jsp/admin/dashaboard.xhtml</to-view-id>
</navigation-case>
</navigation-rule>  

/WEB-INF/jsp/admin/login.xhtml
成功
/WEB-INF/jsp/admin/welcome.xhtml
管理
/WEB-INF/jsp/admin/dashon.xhtml
在我的jsp中,我试图像这样调用这个定义

<a href="/WEB-INF/jsp/admin/login.xhtml">Admin login </a>

当我点击“管理员登录”时,我发现页面未找到异常


是否有其他方法调用此视图?

无法公开访问
/WEB-INF
中的文件(即,最终用户无法通过在浏览器地址栏中输入其裸URL直接打开
/WEB-INF
中的任何文件)。它们只能由对
/WEB-INF
文件夹中的文件执行
RequestDispatcher#forward()
的访问。旧的webapp代码设置显然使用了这样一个servlet,要么是国产的,要么是来自不同的MVC框架

您应该将这些页面移动到
/WEB-INF
文件夹之外的。顺便说一下,我还要从路径中删除误导性的
/jsp
部分,因为这些文件根本不是jsp文件。考虑到
.xhtml
扩展,您实际上使用的是它的后续facelet


顺便说一下,由于新的“隐式导航”特性,自JSF2.0以来,导航规则已经过时。也许您在学习JSF时过于关注针对JSF 1.x的书籍/教程了?

/WEB-INF
中的文件是不可公开访问的(即,最终用户无法通过在浏览器的地址栏中输入其空URL直接打开
/WEB-INF
中的任何文件)。它们只能由对
/WEB-INF
文件夹中的文件执行
RequestDispatcher#forward()
的访问。旧的webapp代码设置显然使用了这样一个servlet,要么是国产的,要么是来自不同的MVC框架

您应该将这些页面移动到
/WEB-INF
文件夹之外的。顺便说一下,我还要从路径中删除误导性的
/jsp
部分,因为这些文件根本不是jsp文件。考虑到
.xhtml
扩展,您实际上使用的是它的后续facelet


顺便说一下,由于新的“隐式导航”特性,自JSF2.0以来,导航规则已经过时。也许您在学习JSF时,过于关注JSF1.x目标书籍/教程了?

您是对的。这是一个5年前的应用程序,构建于JSF1.2之上,然后部分迁移到JSF2.0。我将把文件移到WEB-INF之外,看看这是否有帮助。我也用漂亮的脸蛋来解决这个问题,但我想那是一种过度的杀伤力。这么简单的东西。从WEB-INF中删除了这些文件夹,它们都被删除了accessible@BalusC,我有一个关于你最后的评论。你能看一下吗?你是对的。这是一个5年前的应用程序,构建于JSF1.2之上,然后部分迁移到JSF2.0。我将把文件移到WEB-INF之外,看看这是否有帮助。我也用漂亮的脸蛋来解决这个问题,但我想那是一种过度的杀伤力。这么简单的东西。从WEB-INF中删除了这些文件夹,它们都被删除了accessible@BalusC,我有一个关于你最后的评论。你能看一下吗?