# JSP Parameter an XSLT übergeben



## Raidri (24. Jun 2009)

Hey,

Also ich habe mehere Links die eine ID beinhalten, diese ID möchte ich via Parameter an die .xsl Datei übergeben und von dort aus mit hilfe von <xsl:when> etc alles richtig auslesen. Nur leider geht es bei mir nicht so wirklich. Lass ich aus der xsl Datei das <xslaram> weg bekomm ich den Fehler das er die variable nicht findet. Mache ich es dort hin, bekomme ich zwar keinen Fehler, aber der value aus der jsp wird auch nicht übergeben.

Hier meine JSP (Nicht so sehr auf die Form achten ist nur zum testen *g*):

```
<%
					<c:import var="xml" url="XML/fach.xml" />
					<c:import var="xslt" url="XML/content.xsl" />
					if(request.getParameter("id") != null){%>
						<%if(request.getParameter("id").equals("1")){%>
								<x:transform xml="${xml}" xslt="${xslt}">
									<x:param name="index" value="1" />
								</x:transform>
							<%}
						  else if(request.getParameter("id").equals("2")){%>
								<x:transform xml="${xml}" xslt="${xslt}">
									<x:param name="index" value="2" />
								</x:transform>
						  <%}
						  else if(request.getParameter("id").equals("3")){%>
								<x:transform xml="${xml}" xslt="${xslt}">
									<x:param name="index" value="3" />
								</x:transform>
						  <%}
					}
					else{%>
							<x:transform xml="${xml}" xslt="${xslt}">
								<x:param name="index" value="2" />
							</x:transform>
					  <%}
						%>
```

Dazu dann die XSLT-Datei wo der parameter mit dem namen index und dem wert landen soll


```
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   
	<xsl:template match="/">
		<xsl:param name="index" />
		<xsl:choose>
			<xsl:when test="$index=1">
				Datenbank
			</xsl:when>
			<xsl:when test="$index=3">
				SEN
			</xsl:when>
			<xsl:otherwise>
				Java
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
</xsl:stylesheet>
```

Danke für eure Hilfe 

lg Raidri


----------



## Raidri (25. Jun 2009)

mmh, Frage vllt schlecht formuliert ?. Also nochmal kurz versucht. Die Daten die ich in der jsp datei mit <xaram name="index" value="2" /> an die .xsl datei übergebe, soll darin ausgelesen werden damit ich da weiter arbeiten kann. Nur bisher habe ich noch keinen Weg gefunden wie das in der Datei genau funktioniert .
Vllt hat ja jetzt jemand eine Antwort für mich.

Danke


----------



## Raidri (26. Jun 2009)

Ok, habe das Problem nun doch selber gelöst. Für alle die einfach mal den selben dummen Fehler haben sollten .

in der xslt Datei muss das <xslaram name="" /> direkt unter dem Stylesheet liegen und nicht so wie bei mir unter dem Template .


----------

