2

我正在尝试构建自定义 URL,因为prettyfaces告诉它这样做,但是在设置它之后,它给了我这个错误:

Referenced file contains errors (http://ocpsoft.org/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.3.xsd). For more information, right click on the message in the Problems View and select "Show Details..."

这就是我的web.xml设置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>BRAINSET</display-name>
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
  </context-param>
  <welcome-file-list>
    <welcome-file>index.xhtml</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>
  <filter>
      <filter-name>Pretty Filter</filter-name>
      <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
      <async-supported>true</async-supported>
   </filter>

   <filter-mapping> 
      <filter-name>Pretty Filter</filter-name> 
      <url-pattern>/*</url-pattern> 
      <dispatcher>FORWARD</dispatcher> 
      <dispatcher>REQUEST</dispatcher> 
      <dispatcher>ERROR</dispatcher>
      <dispatcher>ASYNC</dispatcher>
   </filter-mapping>
</web-app>

我的pretty-config.xml

<pretty-config xmlns="http://ocpsoft.org/prettyfaces/3.3.3" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xsi:schemaLocation="http://ocpsoft.org/prettyfaces/3.3.3
               http://ocpsoft.org/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.3.xsd">

    <url-mapping id="home">
        <pattern value="/home" />
        <view-id value="/index.xhtml" />
    </url-mapping>

有了这个错误,我什至无法将我的应用程序部署在Glassfish

Could not publish to the server.
java.lang.NullPointerException

知道如何解决这个问题吗?还是我应该寻找另一个类似的工具prettyfaces

更新

在此处输入图像描述

4

2 回答 2

4

我不认为这个错误是由 PrettyFaces 引起的。XML 模式在我的 Eclipse 设置中运行良好,我没有收到任何这些错误。而且我很确定 XSD 文件是有效的。

您应该查看 Eclipse 日志文件 ( WORKSPACE/.metadata/.log) 以查看是否抛出了任何异常。

顺便说一句:您也可以尝试schemaLocation从您的 pretty-config.xml 中删除该元素并检查这是否有帮助。PrettyFaces 在解析文件时不使用 XSD 架构。像这样的东西:

<pretty-config xmlns="http://ocpsoft.org/prettyfaces/3.3.3">
  ...
</pretty-config>
于 2013-05-15T06:50:19.743 回答
1

终于想通了......所以这个XSD无效的原因是因为文档有这个:

<?xml version="1.0" encoding="UTF-8" ?>

代替:

<?xml version="1.0" encoding="UTF-8"?>

如果有人知道如何让林肯来解决这个问题,那就太好了!

于 2021-03-12T17:01:39.943 回答