我是 Icemobile 的新手,但由于它承诺在移动设备上进行快速开发,所以我试了一下。我使用 Netbeans 进行开发,一台 PC 上使用 Netbeans 7.1,另一台 PC 上使用 Netbeans 7.3。
问题是使用 Netbeans 7.1,在回发时不会调用托管 bean。它被构造并在初始 GET 页面上调用 getter。在 Netbeans 7.3 上,这没问题。
我是 Icemobile 的新手,但由于它承诺在移动设备上进行快速开发,所以我试了一下。我使用 Netbeans 进行开发,一台 PC 上使用 Netbeans 7.1,另一台 PC 上使用 Netbeans 7.3。
问题是使用 Netbeans 7.1,在回发时不会调用托管 bean。它被构造并在初始 GET 页面上调用 getter。在 Netbeans 7.3 上,这没问题。
我不相信我们已经对带有 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。我们很乐意查看您的应用程序和配置。
谢谢,菲利普
后来我发现在 Netbeans 7.1 中,JSF 库是带有 jsf-api.jar 和 jsf-impl.jar 的 JSF 2.1,而在 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 可能不支持某些功能)
In addition to posting your app, which version of the ICEfaces Netbeans plugin are you using? http://www.icesoft.org/java/downloads/icefaces-downloads.jsf.
What are the exact version numbers of the Mojarra jars you've been using for both 2.1 and 2.2?