Just add a h:outputLink pointing to the URL of the file. If those files are to be retrieved from the database or from the filesystem in the server machine outside the webapplication, then create a
servlet which does the task independently. Just let it take the file name or ID as parameter or pathinfo of the request, read the file as an InputStream and write it to the OutputStream of the response. Don't forget to set at least the content-type, content-length and content-disposition headers correctly. Set the content-disposition to 'attachment' to get a save-as dialogue.