Salut,
Je travaille avec Richfaces 3.3.2,seam2.0, je veux afficher un flux multimedia(video,PDF) dans un modalpanel,j'utilise le composant mediaoutpout et ca marche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<rich:modalPanel id="modal" shadowDepth="0">
 <a:mediaOutput
            id="media"
 
                element="object"
 
             createContent="#{bean.methode}"
 
                session="true"
                cacheable="false"
                mimeType="#{bean.type}" style="width:800px;height:600px;"
                standby="loading..."
 
                />
</rich:modalPanel>
Mais les problemes sont:
-avec IE7: le media output est inconnu.
-avec MF: parfait pour les images et les txt le genère des exceptions pour les pdf (socket peer..) et la video le télecharge partiellement.

Donc je vois que le mieux et d'ecrire sur la servlet reponse(car ca marche sur tout les navigateurs sans générer des exceptions) .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
	   public  void Afficher(Int cle) throws IOException{
 
 
 
        	       Media m =entityManager.find(Media.class,cle); 
      		    HttpServletResponse response = (HttpServletResponse) extCtx
            .getResponse();
 
 
		               response.setContentType(m.getContentype_media());
 
				final File file = new File(path de media);
				response.setContentLength((int) file.length());
 
				final FileInputStream fis1 = new FileInputStream(file);
				final OutputStream os = response.getOutputStream();
				byte[] fileContent = new byte[4096];
				int r = 0;
				while (r >= 0) {
					r = fis1.read(fileContent);
					os.write(fileContent);
					}
				os.flush();
				os.close();
				facesContext.responseComplete();
                              }
et dans la vue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<s:link value="consulter" target="_blank" action="#{bean.afficher(media.identifiant)}"/>
Mais le media voulu est afficher sur une autre page.

Est ce qu'il y a un moyen pour renvoyer la media directement au client (par Servlet de reponse) et l'afficher dans un modelpanel (ou un pop up)?