【问题标题】:Managed bean not called in IcemobileIcemobile 中未调用托管 bean
【发布时间】:2013-07-15 10:36:06
【问题描述】:

我是 Icemobile 的新手,但由于它承诺在移动设备上进行快速开发,所以我试了一下。我使用 Netbeans 进行开发,一台 PC 上使用 Netbeans 7.1,另一台 PC 上使用 Netbeans 7.3。

问题在于,在 Netbeans 7.1 中,回发时不会调用托管 bean。它被构造并在初始 GET 页面上调用 getter。在 Netbeans 7.3 上,这没问题。

【问题讨论】:

    标签: java jsf icefaces icefaces-3


    【解决方案1】:

    后来我发现在 Netbeans 7.1 中,JSF 库是 JSF 2.1 和 jsf-api.jar 和 jsf-impl.jar,而在 Netbeans 7.3 中,它是 JSF 2.2 javax.faces.jar。我在 Netbeans 7.1 机器上替换了这个 jar,问题解决了。

    我认为 icesoft.org 应该在 http://www.icesoft.org/java/projects/ICEmobile/supported-platforms.jsf 中说明这一警告。这里只说 JSF 2 Mojarra。

    此外,虽然网站声明需要 Tomcat 7,但我发现 Tomcat 6 到目前为止还可以(尽管 Tomcat 6 可能不支持某些功能)

    【讨论】:

      【解决方案2】:

      我不认为我们已经对带有 Mojarra 2.2 的 ICEmobile 进行了任何特定测试。我建议现在坚持使用 Mojarra 2.1。尽管 NetBeans 版本是默认版本,但您可以通过在 WEB-INF/lib 文件夹中包含 javax.faces.jar 来覆盖它,以便它始终包含在 war 文件中。至于Tomcat,我不相信我们说需要Tomcat 7。我们实际上支持非常广泛的应用服务器。查看我们支持的平台页面 (http://www.icesoft.org/java/projects/ICEmobile/supported-platforms.jsf)。

      您遇到的托管 bean 不被调用的问题听起来很奇怪,我猜这更有可能是由于 JSF 配置而不是 ICEmobile。我们很乐意查看您的应用程序和配置。

      谢谢, 菲利普

      【讨论】:

      • 您引用的网站确实说 Tomcat 7。对于 Mojarra 版本,请参阅下面的我的 cmets。
      • 我还是有问题:点击提交按钮不会调用托管bean的setter方法(应该被记录)。程序和tomcat输出在docs.google.com/document/d/…我已经包括了javax.faces.jar、jstl-1.2.jar、tlddoc.jar、icefaces-mobi.jar、icefaces.jar、icemobile-jsp.jar、icepush.jar,所有这些在 icemobile 下载包中。
      【解决方案3】:

      除了发布您的应用程序之外,您还使用哪个版本的 ICEfaces Netbeans 插件? http://www.icesoft.org/java/downloads/icefaces-downloads.jsf

      您在 2.1 和 2.2 中使用的 Mojarra jar 的确切版本号是多少?

      【讨论】:

      • 我在使用 NetBeans 7.1.2(没有 ICEfaces Netbeans 插件)和 Mojarra 2.1.6 时遇到问题。
      猜你喜欢
      • 2015-12-11
      • 2012-12-18
      • 2012-05-18
      • 2013-10-19
      • 2011-12-23
      • 2012-11-09
      • 2016-06-06
      相关资源
      最近更新 更多