2011-03-23 136 views
0

有没有办法以编程方式使用JSF向Web应用程序添加资源?这将涉及在资源文件夹(或其任何子文件夹)中添加文件。我想补充一点,可以被当作资源的图片,让我JSF以编程方式添加资源

<h:graphicImage name="name of the resource i create" library="subfolder under resources" /> 

回答

1

显示它您不想写网页内容编程。无论何时重新部署Web应用程序,它都会丢失。

只要将它保存到磁盘或DB使用FileOutputStreamPreparedStatement#setBinaryStream(),然后有一个servlet它获取它的一个InputStream分别使用FileInputStreamResultSet#getBinaryStream()磁盘或DB,然后沿着正确的一套写入响应OutputStream HTTP响应标头。最后,只需通过它的URL调用该servlet,以及唯一的资源标识符或文件名作为请求参数或pathinfo。

+0

@BalusC我知道这一点,但创建专用的servlet并从那里加载图像要复杂得多。特别是在遍历集合时。另外,如果我计划分发我的应用程序,我不能真正将它保存到磁盘上,这会影响可伸缩性。 – arg20 2011-03-23 19:29:19

+0

我打算在创建资源时进行备份,因为重新部署不是我每天都在生产的东西 – arg20 2011-03-23 19:30:20

+0

我不'当迭代集合时,看看这更复杂。更重要的是,我没有看到任何需要改变的地方。至于可伸缩性,那么就使用数据库。这只是让你朝正确方向发展的答案。此外,您可能会在这个答案中找到一些有用的见解:http://stackoverflow.com/questions/2340406/retrieve-multiple-images-from-mysql/2341322#2341322只需用'替换'' 。 – BalusC 2011-03-23 19:35:16