unleashed
Goto Top

JSF-Bilder können nicht geladen werden

Wenn ich meine Seite öffne mit meiner JSF Application. Zeigt er mir die Bilder nicht an. In Eclipse selber geht das aber alles.

Hallo,

meine Problem.
Hab in Eclipse ein JSF Application geschrieben. Funktioniert in Eclipse super.
Application soll mir Bilder anzeigen die es aus einem Ordner herrausliest.

Problem:
Ich sag ihm das in "C:\\pic\\" die bilder liegen. Wenn ich es unter Eclipse aufrufe dann zeigt er sie mir an wie ich es will.
Öffne ich das Projekt über den Firefox kann er mir die Bilder nicht Anzeigen. er zeigt sie mir zwar an im Quellcode von der Seite kann sie aber nicht aufrufen.

2.Problem.
Wenn ich das ganze im jetzt sage das unter WebContent/pic die bilder liegen und das Projekt auf einen Richtigen glassfish server ausführe. sagt er mir das er überhaupt keine Bilder gefunden hat. -> Fehler.

Lösung:
Wie schaff ich das das er mir die Bilder auf dem Webserver anzeigt.


Hier mal der Source-code:
data.jsp

<%@page contentType="text/html"%>  
<%@page pageEncoding="UTF-8"%>  

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>  
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>  

<!DOCTYPE HTML
 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
   "http://www.w3.org/TR/html4/loose.dtd">  


<f:view>
	<html>
	<head>
	<h2>JSF Application</h2>
	</head>
	<body>
	<center><br>
	<br>
	<br>
	<h:dataTable id="dt1" value="#{tableBean.perInfoAll }" var="item"  
		bgcolor="#F1F1F1" border="10" cellpadding="5" cellspacing="3"  
		width="50%">  
		<f:facet name="header">  
			<h:outputText value="This is Table Data" />  
		</f:facet>

		<h:column>
			<f:facet name="header">  
				<h:outputText value="Image" />  
			</f:facet>
			<h:graphicImage value="#{item.absolutePath}" width="200" height="150"/>  
		</h:column>


		<f:facet name="footer">  
			<h:outputText value="The End" />  
		</f:facet>
	</h:dataTable><br>
	</center>
	</body>
	</html>
</f:view>

die Bean.

package roseindia1;

import java.util.*;
import java.io.*;

public class TableBean {
	private List perInfoAll = new ArrayList();

	public void setPerInfoAll(List perInfoAll) {
		this.perInfoAll = perInfoAll;
	}

	public List getPerInfoAll() {
		try {

			File thumbFile = new File(
					"C:\\pic\\");  
			File files = thumbFile.listFiles();

			for (File file : files) {

				if (file.getName().toLowerCase().endsWith(".jpg")) {  

					perInfoAll.add(new TableData(file.getAbsolutePath()));

				}
			}

		} catch (Exception e) {
			System.out.println("Error Data : " + e.getMessage());  
		}
		return perInfoAll;
	}

	public class TableData {
		private String absolutePath;

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

		public String getAbsolutePath() {
			return absolutePath;
		}

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

die Faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>  

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"  
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"  
	version="1.2">  

	<managed-bean>
		<managed-bean-name>tableBean</managed-bean-name>
		<managed-bean-class>roseindia1.TableBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

</faces-config>

Content-ID: 130700

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

Ausgedruckt am: 26.11.2024 um 14:11 Uhr

Marco123
Marco123 12.01.2010 um 12:50:37 Uhr
Goto Top
was sagt dir Firebug dazu ?

versuch es mal mit anderen Browsern, gff kann er die quelle nicht lesen?
ein applikation server ist ja im classfish, deswegen solltest du den Zugriff ja eigentlich haben oO

versuch villeicht mal nen absoluten Pfad zu einem einzigsten Bild, und spiele damit etwas herum.
ggf siehst du dann nen fehler.

Oder das beste einfach alles Debuggen, sprich du lässt dir alles ausgeben, und was steht in den Glassfish logs ?

greetz