unleashed
Goto Top

Bilder vom Glassfish geladen werden, werden nicht dagestellt.

Bilder werden zwar geladen aber nicht dagestellt.

Hallo,

ich hab ein Problem mit der Darstellung meiner Bilde im Webbrowser.

Hab ne Java-Bean die mir alle Bilder in einem ordner ladet und auch anzeigt also die datei wird gefunden und auch an den browser übertragen aber nicht angezeigt.
Wenn ich in den Quellcode schau sehe ich die richtige URL der Datei, nur leider zeit der Webbrowser sie mir nicht richtig an.
Noch zur Info: Derzeitig noch auf einem Windows Rechner daher mit C:.... soll aber auf einem Unix System laufen.

Quellcode ausschnitt
<td><img src="C:\glassfishv3\glassfish\domains\domain1\applications\PTB_Test\WEB-INF\pic\Winter.jpg" height="80" width="100" /></td>  
<td><input id="frm:Pic:3:j_idt9" type="submit" name="frm:Pic:3:j_idt9" value="" onclick="mojarra.ab(this,event,'action','frm2','frm2:BIGPIC',{'bigPic':'Winter.jpg'});return false" /></td>  

Meine Frage ist jetzt warum wird die Datei nicht angezeigt?


Hier noch die .xhtml datei
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml"  
	xmlns:h="http://java.sun.com/jsf/html"  
	xmlns:f="http://java.sun.com/jsf/core">  

<h:head>
	<style type="text/css">  
#div1 {
	width: 150px;
	height: 500px;
	overflow-y: scroll;
}
</style>
</h:head>
<body>
<table>
	<tr>
		<td>
		<div id="div1"><h:form id="frm">  
			<h:dataTable id="Pic" value="#{PicLoader.perInfoAll }" var="Pic">  
				<h:column>
					<h:graphicImage value="#{Pic.absolutePath}" width="100" height="80" />  
				</h:column>
				<h:column>
					<h:commandButton action="#{LoadBigPic.listener}">  
						<f:param name="bigPic" value="#{Pic.picName}" />  
						<f:ajax execute=":frm2" render=":frm2:BIGPIC" event="action" />  
					</h:commandButton>
				</h:column>
			</h:dataTable>
		</h:form></div>
		</td>
		<td><h:form id="frm2">  
			<h:graphicImage id="BIGPIC" value="#{LoadBigPic.bigPic }" />  
		</h:form></td>
	</tr>

</table>
</body>
</html>

die Bean zum Laden der Bilder. (Leider durch zu vielem probieren ist es nicht schön struckturiert, bitte dies zu entschuldigen)
package roseindia;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class PicLoader {
	private List<TableData> getPictureList = new ArrayList<TableData>();
	int counter1 = 1;
	// File thumbFile = new File("C:\\pic\\"); 
	File thumbFile = new File(
			"C:\\glassfishv3\\glassfish\\domains\\domain1\\applications\\PTB_Test\\WEB-INF\\pic\\");  
	// File thumbFile = new File("/PTB_Test/WEB-INF/pic/"); 
	// File thumbFile = new File("..\\docroot\\pic\\"); 
	File files = null;
	private List<String> loadedFiles = new ArrayList<String>();

	public void setPerInfoAll(List<TableData> perInfoAll) {
		this.getPictureList = perInfoAll;
	}

	public List<TableData> getPerInfoAll() {
		try {
			files = thumbFile.listFiles();
			for (File file : files) {
				if (file.getName().endsWith(".jpg")  
						&& !loadedFiles.contains(file.getAbsolutePath())) {
					getPictureList.add(new TableData(file.getAbsolutePath(),
							file.getName()));
					// add to loaded files
					loadedFiles.add(file.getAbsolutePath());
					System.out.println("Hier bin ich");  
				}
			}
		} catch (Exception e) {
			System.out.println("Error Data: " + e.getMessage());  

		}
		return getPictureList;
	}

	public class TableData {
		private String absolutePath;
		private String picName;

		public String getPicName() {
			return picName;
		}

		public void setPicName(String picName) {
			this.picName = picName;
		}

		public TableData(String absolutePath, String picName) {
			this.absolutePath = absolutePath;
			this.picName = picName;
		}

		public String getAbsolutePath() {
			return absolutePath;
		}

		public void setAbsolutePath(String absolutePath) {
			this.absolutePath = absolutePath;
		}
	}
}



Danke jetzt schonmal für eure Hilfe.

Content-Key: 155570

Url: https://administrator.de/contentid/155570

Printed on: April 23, 2024 at 09:04 o'clock

Member: dog
dog Nov 22, 2010 at 22:08:42 (UTC)
Goto Top
C:\glassfishv3\glassfish\domains\domain1\applications\PTB_Test\WEB-INF\pic\Winter.jpg

Das ist keine URL und wenn sich ein Browser entscheided sowas anzuzeigen, dann nur aus purer Nettigkeit.

Zuerst mal liefert man sowas auch lokal über den Webserver aus.

Und zum anderen - wenn man grade Lust hat sich ins Knie zu schießen - sieht eine File URL z.B. so aus:

file:///C:/glassfishv3/glassfish/domains/domain1/applications/PTB_Test/WEB-INF/pic/Winter.jpg