【问题标题】:How integrate HTML5 <video> tag in JSF/Facelets?如何在 JSF/Facelets 中集成 HTML5 <video> 标签?
【发布时间】:2013-03-12 15:42:11
【问题描述】:

我想在 JSF/Facelets 页面中使用 HTML5 &lt;video&gt; 标签。我尝试了以下方法,但它不起作用。

<h:body>
    Hello from Facelets
    <br />
    <section id="reproductor">
        <video src='http://minkbooks.com/content/trailer.mp4' >
        </video>
    </section>
    <h:link outcome="welcomePrimefaces" value="Primefaces welcome page" />
</h:body>

【问题讨论】:

  • 您遇到了什么问题?说不起作用就像去看医生说我感觉不舒服,你能治好我吗?

标签: html jsf facelets


【解决方案1】:

JSF 在这个问题的上下文中仅仅是一个 HTML 代码生成器。因此,JSF 实际上与具体问题完全无关。使用例如,您会遇到完全相同的问题。 JSP、ASP、PHP 等生成 HTML 代码,甚至在使用静态 HTML 文件时。

回到您的具体问题,只要您的浏览器支持相关的 HTML5 标签,那么您的具体问题只是因为您尝试跨域流式传输视频而引起的。 &lt;video&gt;&lt;audio&gt; 标签不支持。您需要提供您自己域中的视频文件(即将文件放在与您的 JSF 文件所在的相同的 web 应用中)。

假设您已将视频文件的副本与 JSF 文件放在同一文件夹中,应该这样做:

<video src="trailer.mp4" />

【讨论】:

    【解决方案2】:

    除了上面的@BalusC 响应之外,不要忘记在部署描述符 (web.xml) 中映射静态内容的文件类型。以下是几行:

     <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.mp4</url-pattern>
     </servlet-mapping>
    

    【讨论】:

    • 默认情况下不需要。仅当您出于某种原因用不同的 servlet 完全覆盖了默认 servlet 时才需要它。例如来自 Spring MVC 的那个。然后,您应该基本上指示它将视频文件视为“静态资产”,就像您可能已经为 CSS/JS/图像文件所做的那样。很可能只需将其放在 webapp/resources 文件夹中就足够了。
    猜你喜欢
    • 2011-12-16
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 2012-10-22
    相关资源
    最近更新 更多