使用Oracle ADF使用EJB, JPA和JavaServer Faces构建Web应用程序



我下载并安装了JDeveloper 11.1.2.3.0(我没有许可证)。我只是想使用ADF做演示应用程序,我不使用它用于商业目的)

然后我做了以下Oracle教程(使用EJB, JPA和JavaServer Faces构建Web应用程序):http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_51/jdtut_11r2_51_2.html

在第3步:运行并测试页面时,我在JDeveloper Log中得到以下结果:
<ViewHandlerImpl> <_checkTimestamp> Apache Trinidad is running with time-stamp checking enabled. This should not be used in a production environment. See the org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
<11.01.2013 18:25:26 ALMT> <Notice> <EclipseLink> <BEA-2005000> <2013-01-11 18:25:26.552--ServerSession(14553247)--EclipseLink, version: Eclipse Persistence Services - 2.1.3.v20110304-r9073> 
<11.01.2013 18:25:26 ALMT> <Notice> <EclipseLink> <BEA-2005000> <2013-01-11 18:25:26.557--ServerSession(14553247)--Server: 10.3.5.0> 
<MessageFactory> <getMessage> 
java.lang.IllegalStateException
    at oracle.jbo.uicli.binding.JUSearchBindingCustomizer.getViewCriteria(JUSearchBindingCustomizer.java:1980)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$QueryDescriptorImpl.getFilterCriteria(FacesCtrlSearchBinding.java:1325)
    at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer._getFilterCriteria(BaseColumnRenderer.java:1871)
    at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer._renderFilterField(BaseColumnRenderer.java:1755)
    at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.renderColumnFilterCell(BaseColumnRenderer.java:1206)
    at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.encodeAll(BaseColumnRenderer.java:163)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
...

这里是我的web.xml (org.apache.myfaces.trinidad。CHECK_FILE_MODIFICATION部分)

  <context-param>
    <description>If this parameter is true, there will be an automatic check of the modification date of your JSPs, and saved state will be discarded when JSP's change. It will also automatically check if your skinning css files have changed without you having to restart the server. This makes development easier, but adds overhead. For this reason this parameter should be set to false when your application is deployed.</description>
    <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
    <param-value>false</param-value>
  </context-param>

值为false。我试着切换到true,但它仍然给我同样的错误。

如何解决这个问题?

你看错了。问题是- java.lang.IllegalStateExceptionoracle.jbo.uicli.binding.JUSearchBindingCustomizer.getViewCriteria (JUSearchBindingCustomizer.java: 1980)

不确定问题是什么,如果您澄清在教程的哪个阶段开始出现此错误,可能会有所帮助。

最新更新