Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung - XPages => Thema gestartet von: theBastian am 09.05.17 - 13:41:45

Titel: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: theBastian am 09.05.17 - 13:41:45
Hallo allerseits,

bin gerade bei meinen ersten Gehversuchen mit XPages und habe schon ein (Verständnis)-Problem.

Ich habe ich XPage mit einer Tabelle erstellt. Für jede Zelle habe ich ein anderes Hintergrundbild festgelegt. Öffne ich die Seite im IE und verwende den kompletten Link (also Server/database.nsf/index.xsp) werden die Bilder auch angezeigt.

Dann stelle ich als Startseite für die Datenbank diese XPage ein (index.xsp) und öffne den Link Server/database.nsf dann fehlen die Bilder.

ACL: Default = Reader, Images nicht im Web versteckt.

Ich bin ratlos.  ??? Kann mich jemand erleuchten?  ;)

Sebastian
Titel: Re: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: Sven Hasselbach am 09.05.17 - 14:00:20
Wie sind die Bilder denn eingebunden in der XPage?
Titel: Re: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: theBastian am 09.05.17 - 14:44:12
Als Hintergrundbild pro Tabellenzelle festgelegt. Oder was ist gemeint?  ???
Titel: Re: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: Sven Hasselbach am 09.05.17 - 14:46:56
Zeig mal deinen XPage-Code. Das macht es einfacher.
Titel: Re: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: theBastian am 09.05.17 - 15:00:51
Hier mal der Code für eine Tabellenzelle:

Code
<xp:td styleClass="td.service" id="Service" valign="top">
				<xp:this.style><![CDATA[
				width:266px;
				background-image:url(service.jpg);
				background-repeat:no-repeat;
				background-position:bottom right;
				border-right: 1px solid #888888;
				line-height: 200%;
				padding-left:20.0px;width:266px;height:auto;background-image:url(service.jpg);background-repeat:no-repeat;background-position:bottom right]]></xp:this.style>
				<b>Service</b>
				<xp:br></xp:br>
				<xp:br></xp:br>
				<xp:repeat id="repeatService" value="#{LinksService}"
					var="rowDataService" rows="50">
					<xp:link escape="true" id="linkService"
						styleClass="ul.liste" target="_blank">
						<xp:this.value><![CDATA[#{javascript:rowDataService.getDocument().getItemValueString("Link")}]]></xp:this.value>
						<xp:this.title><![CDATA[#{javascript:rowDataService.getDocument().getItemValueString("Linkname")}]]></xp:this.title>
						<xp:this.text><![CDATA[#{javascript:rowDataService.getDocument().getItemValueString("Linkname")}]]></xp:this.text>
					</xp:link>
					<xp:br></xp:br>
				</xp:repeat>
			</xp:td>
Titel: Re: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: Sven Hasselbach am 09.05.17 - 15:11:25
Ah ok. Das Problem ist die Referenzierung des Bildes, denn die sind bei Dir ja relativ eingebunden.
Normalerweise ist der Pfad zu der XPage ja sowas:
http://example.com/db.nsf/xpage.xsp (http://example.com/db.nsf/xpage.xsp)

Die von Dir eingebundenen Bilder "ersetzen" dann den Teil bis zum letzten Slash, d.h. aus der URL wird dann vom Browser ein
http://example.com/db.nsf/service.jpg (http://example.com/db.nsf/service.jpg)

Wenn Du die Datenbank mit einer Start-XPage öffnest, ist Deine XPage ja zu erreichen unter
http://example.com/db.nsf (http://example.com/db.nsf)

Der Browser ändert dann die Links zu den Pfaden der Bilder in
http://example.com/service.jpg (http://example.com/service.jpg)

Da liegen die Bilder nicht, der Aufruf geht schief.

Das beste hierfür ist, eine Startseite einzubauen, die eine Weiterleitung auf deine eigentliche XPage macht.
Code
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
	<xp:this.beforePageLoad><![CDATA[#{javascript:context.redirectToPage("xpage.xsp", true)}]]></xp:this.beforePageLoad>
</xp:view>

Dann hast Du dieses Problem (und weitere Refernzierungsprobleme) nicht mehr.

Titel: Re: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: theBastian am 09.05.17 - 15:14:39
Ah, cool. Werde ich sofort testen.  :) Danke schon mal für Deine Hilfe.
Titel: Re: Hintergrundbilder in Tabelle werden nicht angezeigt
Beitrag von: theBastian am 09.05.17 - 15:19:04
Schnell umgesetzt und erfolgreich getestet. Danke nochmal.