将 MyFaces Tomahawk 添加到 NetBeans 中的 JSF 2.0 项目

发布于 2024-12-20 07:22:56 字数 1648 浏览 2 评论 0原文

我正在尝试将 MyFaces Tomahawk 添加到 NetBeans 中的 JSF 2.0 项目中。我读了很多评论,其中提到了如何做到这一点,但它不起作用,我已经完成了以下步骤:

1° 将从 Tomahawk 网站下载的所有 jar 库复制到 /%ProjectFolder%/web/WEB-INF/lib 中(我没有得到了 lib 文件夹,所以我创建了它)

2° 使用 netbeans 中的 Properties/Libraries/Add 文件夹将库添加到项目中

3° 将以下代码添加到 web.xml:

 <filter>
  <filter-name>extensionsFilter</filter-name>
  <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
 </filter>

 <filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <servlet-name>Faces Servlet</servlet-name>
 </filter-mapping>

 <filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
 </filter-mapping>

 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

4° 添加到index.xhtml html 标记中包含以下行:

xmlns:t="http://myfaces.apache.org/tomahawk"

嗯,我想我不需要做更多的事情,但是当我执行最后一步时,NetBeans 告诉我:“找不到此命名空间的库”。

我确信我做得很糟糕,但我不知道我需要做什么......一些想法?

我希望这篇文章可以作为教程,因为我认为它是必要的。

谢谢^^

编辑:

我发现了错误:我们需要另一个步骤:

5°你必须下载此示例文件。它是 War 文件中的示例集合。使用 winrar 或类似工具打开它并解压缩 myfaces-example-simple20-1.1.11 文件夹。之后,转到 myfaces-example-simple20-1.1.11\WEB-INF\src\META-INF\ 目录并复制 web/META-INF/ 中的所有文件。然后,netbeans 将向您显示帮助和自动填充选项。

Im trying to add MyFaces Tomahawk to my JSF 2.0 project in NetBeans. I readed a lots of coments where it says how to do it but it doesnt work there are the steps i have done:

1º Copy all jar's libraries downloaded from Tomahawk website in /%ProjectFolder%/web/WEB-INF/lib (i havent got the lib folder so i created it)

2º Add the library to the proyect using Properties/Libraries/Add folder in netbeans

3º Add the following code to web.xml:

 <filter>
  <filter-name>extensionsFilter</filter-name>
  <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
 </filter>

 <filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <servlet-name>Faces Servlet</servlet-name>
 </filter-mapping>

 <filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
 </filter-mapping>

 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

4º Add to index.xhtml the following line in html tag:

xmlns:t="http://myfaces.apache.org/tomahawk"

Well, i think i dont need to do more but when i do the last step, NetBeans say me:"No library found for this namespace".

Im sure im doing it bad but i dont know what i need to do..... some ideas?

I hope this post work as a tutorial because i think its necesary.

Thanks ^^

EDIT:

I founded the error: we need another step:

5º You have to download This example file. Its a collection of examples in a War file. Open it with winrar or similar and unrar myfaces-example-simple20-1.1.11 folder. After that, go to myfaces-example-simple20-1.1.11\WEB-INF\src\META-INF\ directory and copy all files in your web/META-INF/. Then, netbeans will show you the help and autofill options.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寒冷纷飞旳雪 2024-12-27 07:22:56

web.xml 末尾有这个吗?

    <load-on-startup>1</load-on-startup>
</servlet>

您的代码中似乎缺少(第 3 步)

您还应该检查 servlet 部分是否不重复。

它对我来说效果很好。

Do you have this at the end of web.xml?

    <load-on-startup>1</load-on-startup>
</servlet>

Seems missing in your code (Step 3)

Also you should check that the servlet section is not repeated.

It works fine for me.

逐鹿 2024-12-27 07:22:56

我遇到了同样的问题,并通过以下步骤解决了:

  1. 将 tomahawk.jar 放入我的战争中。我实现了这个右键点击战争->特性。然后库 ->添加 Jar 并仅选择下载的 tomahawk.jar
  2. 配置扩展过滤器,如下所示:

    <前><代码> <过滤器>
    <过滤器名称>MyFacesExtensionsFilter
    <过滤器类>org.apache.myfaces.webapp.filter.ExtensionsFilter
    <初始化参数>
    <参数名称>uploadMaxFileSize
    <参数值>20m

    <过滤器映射>
    <过滤器名称>MyFacesExtensionsFilter
    Faces Servlet

    <过滤器映射>
    <过滤器名称>MyFacesExtensionsFilter
    /faces/myFacesExtensionResource/*


    Faces Servlet
    javax.faces.webapp.FacesServlet
    <启动时加载>11

    确保扩展过滤器的 servlet-name 值与 Faces servlet 的名称匹配。

  3. 添加了此导入 xmlns:t="http://myfaces.apache.org/tomahawk"

问题可能与您导入库的方式有关。

I had the same problem and solved by following just the following steps:

  1. Put the tomahawk.jar in my war. I achieved this right-clicking on the war -> Properties. Then Libraries -> Add Jar and selected just the downloaded tomahawk.jar
  2. Configured the Extensions filter like this:

     <filter>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
        <init-param>
            <param-name>uploadMaxFileSize</param-name>
            <param-value>20m</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    

    making sure that the servlet-name value of the extension filter matches the name of the Faces servlet.

  3. Added this import xmlns:t="http://myfaces.apache.org/tomahawk"

Probably the problem is about the way you imported the libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文