Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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 &引用;“视图中已找到组件”;导航到同一页时,uicomponent绑定_Java_El_Jsf 2.2 - Fatal编程技术网

Java &引用;“视图中已找到组件”;导航到同一页时,uicomponent绑定

Java &引用;“视图中已找到组件”;导航到同一页时,uicomponent绑定,java,el,jsf-2.2,Java,El,Jsf 2.2,我的实际用途有点不同,但我已经将问题缩小到您在下面看到的代码。当你点击“无处可去”按钮时,无论你点击多少次,一切都很好。但是,当您单击“go某处”时,您会看到一个非法状态异常,“视图中已找到组件ID j_idt3:fnord1”。为什么在返回null时它工作得很好,但在返回nav字符串时却不行 我读过,这是相关的,但对我的理解还不够。如果jsf规范(或类似的源代码)中有相关的部分,我将非常感谢您的回答 /secure/application/sample.xhtml: 隐式导航需要视图的id c

我的实际用途有点不同,但我已经将问题缩小到您在下面看到的代码。当你点击“无处可去”按钮时,无论你点击多少次,一切都很好。但是,当您单击“go某处”时,您会看到一个非法状态异常,“视图中已找到组件ID j_idt3:fnord1”。为什么在返回null时它工作得很好,但在返回nav字符串时却不行

我读过,这是相关的,但对我的理解还不够。如果jsf规范(或类似的源代码)中有相关的部分,我将非常感谢您的回答

/secure/application/sample.xhtml

隐式导航需要视图的id change

private static final String somewhere = "/secure/application/sample.xhtml";


我现在明白了,您的名称空间导入是错误的,您有哪个版本的mojarra? 旧的应该全在里面

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:fn="http://java.sun.com/jsp/jstl/functions"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets">

如果您有较新的版本(推荐且几乎是强制性的),那么您应该在jcp命名空间中拥有以下所有内容:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://xmlns.jcp.org/jsf/core"
  xmlns:fn="http://xmlns.jcp.org/jsp/jstl/functions"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

我使用的是JSF2.2.4。我无法在后续的point版本(2.2.5、2.2.6、2.2.7)中重现该问题。有几个错误修复与关键字“重复”、“id”和“导航”。我看不出他们是如何直接解决这个问题的。然而,我认为这是一个错误

我很高兴地发现我对这个特性的理解是正确的,我的问题仅仅是一个实现错误


对于任何想看到这个bug运行的人来说,.

改变它并不会改变结果。是的,你完全正确,对不起,这应该只是一个评论,因为这对你的问题没有帮助,我会再次阅读,看看我是否能看到一些与你的问题相关的东西。不过,请指出这一点。这两种方法似乎对我们都有效。我们不确定哪一个是正确的。如果您使用的是glassfish服务器注意:glassfish 4中有一个包含Mojara版本的bug,您使用的是4.0.1,这很好,如果是4,您应该使用Mojara的最新版本更改javax.faces.jar,如果是glassfish 3,则使用java.sun namespacesHey谢谢您的更新。我会尽快尝试的。Fwiw,我们正在使用ant/ivy,部署到Tomcat7。然后检查需求,如果是JSF 7(我建议,一些新的和不错的特性),您应该只使用jcp,在EE6中是java.sun,但我对tomcat不是很确定,因为我们使用glassfish,所以很好的Lucktomcat7,JavaEE7,JSF2.2,Java7。我修复了名称空间,但仍然会出现错误。我没有在不同的机器上得到它,所以我现在有一条线索要跟踪。
private static final String somewhere = "/secure/application/sample";
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:fn="http://java.sun.com/jsp/jstl/functions"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://xmlns.jcp.org/jsf/core"
  xmlns:fn="http://xmlns.jcp.org/jsp/jstl/functions"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:ui="http://xmlns.jcp.org/jsf/facelets">