我想在JSF/Facelets页面中使用HTML5 <video>
标记。我试了下面的方法,但是行不通。
<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>
JSF在这个问题的上下文中仅仅是一个HTML代码生成器。因此,JSF实际上与具体问题完全无关。当使用JSP, ASP, PHP等生成HTML代码时,或者甚至使用静态HTML文件时,您会遇到完全相同的问题。
回到你的具体问题,假设你的浏览器支持HTML5标签,那么你的具体问题只是因为你试图跨域流媒体视频而引起的。这是<video>
和<audio>
标签支持的而不是。您需要从您自己的域提供视频文件(例如,将该文件放在与JSF文件所在的web应用程序中)。
假设您已经将视频文件的副本放在与JSF文件相同的文件夹中,应该这样做:
<video src="trailer.mp4" />
除了上面的@BalusC响应之外,不要忘记在部署描述符(web.xml)中映射静态内容的文件类型。以下几行:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.mp4</url-pattern>
</servlet-mapping>