XML in JSP darstellen + AJAX

mephisto22

Grünschnabel
Hallo Leute!

Ich habe folgendes Problem:
Ich mache eine Datenbankabfrage über die ich eine bestimmte Menge an Datensätzen zurückbekomme die ich dann in einem JSP darstelle. Da der Benutzer diese Daten dann mit einem Klick auf die Spaltenüberschriften sortieren kann muss die komplette Seite immer wieder neu geladen werden.
Deshalb habe ich mir folgende Lösung überlegt:
Ich wandle das ResultSet aus der Datenbankabfrage in ein XML-Datei um und lasse diese wia xsl-Stylesheet anzeigen. Und damit nicht immer die ganze Seite neu geladen werden muss verwende ich für diesen Bereich AJAX.
Das ganze funktioniert auch schon - nur habe ich jetzt das Problem, dass ich ein Suchformular hinzufügen möchte um nach bestimmten Stichworten zu suchen und ich hab keine Ahnung wie ich den Suchbegriff übergeben soll...

Hier ist mal meine Bisherige Arbeit - Verbesserungsvorschläge sind jederzeit willkommen ;)

das ist mein JSP wo die Liste aufgerufen wird (Ich verwende die AJAX Tag Library von sourceforge.net):
Code:
<ajax:anchors target="ajaxFrame" ajaxFlag="ajaxFrame">
	
<form action="<%=request.getContextPath() %>/controlList.jsp?sort=v_k_id" method="POST">
	<input type="text" name="search" />
	<input type="submit" name="Search" value="Suchen" />
	</form>
	
		<table id="standard_table" width="80%" align="center">
		<tr>
			<td id="tableheader" width="40%"><a href="<%=request.getContextPath() %>/controlList.jsp?sort=v_k_id" class="contentLink">GUID</a></td>
			<td id="tableheader" width="30%"><a href="<%=request.getContextPath() %>/controlList.jsp?sort=v_risk_name" class="contentLink">Risikoname</a></td>
			<td id="tableheader" width="30%"><a href="<%=request.getContextPath() %>/controlList.jsp?sort=v_status" class="contentLink">Status</a></td>
		</tr>
		</table>
	</ajax:anchors>
	
	<div id="ajaxFrame">
	   <jsp:include page="controlList.jsp" flush="true" />
	</div>

Das steht im JSP das eingefügt wird:
Code:
<c:import url="Controls.xml" var="url" />
<c:import url="xml/test.xsl" var="xsl" />
<c:set var="so" value="<%=sort %>"/>
<c:set var="fi" value="<%=search %>"/>
<x:transform xml="<%=d%>" xslt="${xsl}">
	<x:param name="sortierung" value="${so}" />
	<x:param name="filter" value="${fi}" />
</x:transform>

Und das steht im xsl-File:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

	<xsl:param name='sortierung' />
	<xsl:output encoding="ISO-8859-1" />
	<xsl:template match='/'>
		<html>
		<table id="standard_table" width="80%" align="center">
		<Results>
			<xsl:for-each select="Results/Row">
			
				<xsl:sort select="*[name()=$sortierung]" order="ascending"/>
				<tr>
				<Row>
					
					<td id="tablefield" width="40%" ><v_k_id><xsl:value-of select="v_k_id" /></v_k_id></td>
					<td id="tablefield" width="30%" ><v_risk_name>	<xsl:value-of select="v_risk_name" />	</v_risk_name></td>
					<td id="tablefield" width="30%" ><v_status>	<xsl:value-of select="v_status" />	</v_status></td>
				</Row>
				</tr>
			</xsl:for-each>
		</Results>
		</table>
		</html>
	</xsl:template>

</xsl:stylesheet>

Ich hoffe ihr könnt mir helfen....ich bin mir auch nicht sicher ob ich die ganze AJAX-Sache richtig gelöst habe...Bitte um Kommentare dazu
 

Neue Beiträge

Zurück