Display Tag Library - Nothing found to display Problem

x_Red_Eagle_x

Erfahrenes Mitglied
Hallo alle zusammen

Ich bin arbeite noch nicht lange mit EL und möchte nun in einem Web Projekt (JBoss, Struts) die Display Tag Library verwenden. Ich habe nun von SourceForge die Version 1.0 heruntergeladen und diese im Projekt eingebunden mit der displaytag-el-12.tld (war im zip File dabei, keine Ahnung warum dies die 1.2 Version ist).

Nun habe ich einfach probiert von einer Session aus etwas an ein JSP zu übergeben (Request.setAttribute) und dies versucht auszulesen, jedoch ohne Erfolg (mit der Fehlermeldung Nothing found to display). Hierrauf habe ich überprüft ob etwas in dem Sessionobjekt (um genauer zu werden, es ist ein Vector mit einem "Bean" -> nicht direkt abgeleitet sondern nur eine Klasse mit einem Standardkonstruktor und setter und getter) drinnen steht. Dies habe ich mit einer simplen <c:forEach> Schleife gemacht und der Vector war richtig befüllt.

Daraufhin habe ich einen neuen Versuch gestartet (siehe unten) jedoch ohne Erfolg es wird immer noch die gleiche Meldung ausgegeben: Nothing found to display.
Es wird weder eine Exception geworfen, noch tritt sonst irgendein für mich sichtbarer Fehler auf.

Hat jemand einen Rat für mich, was ich machen kann bzw. was mache ich falsch? :confused:

Code:
<% 
	java.util.List test2 = new java.util.ArrayList( 6 );
	test2.add( "Test String 1" );
	test2.add( "Test String 2" );
	test2.add( "Test String 3" );
	test2.add( "Test String 4" );
	test2.add( "Test String 5" );
	test2.add( "Test String 6" );
	request.setAttribute( "test5", test2 ); 
	
	String[] test = new String[5];
	test[0] = "Test String 1";
	test[1] = "Test String 2";
	test[2] = "Test String 3";
	test[3] = "Test String 4";
	test[4] = "Test String 5";
%>

	<display:table name="${test2}"/>
	<display:table name="${requestScope.test5}"/>
	<display:table name="${test}"/>

Erstmals danke fürs Lesen und für eure Zeit
mfg

PS.: die Hilfe habe ich auch schon konsuldiert, jedoch ohne erfolgreiches Ergebnis hervorzubringen und googeln hat auch nix genutzt.
 
Ich weiß, dass diese Meldung ausgegeben wird wenn man wie sie schon sagt anzeigen kann. D.h. es sind keine Daten vorhanden.

Fehlt da nicht noch ein <display:column .... ?
 
Hallo

Laut der Referenz ist dies, der einfachste Anwendungsfall und er präsentiert einfach alle Daten. Der Column Tag ist zum Einschränken.

displaytag.sourceforge.net hat gesagt.:
<% request.setAttribute( "test", new TestList(10, false) ); %>
<display:table name="test" />

The table tag will iterate through the list and display a column for each property contained in the objects.

mfg
 
Hast du schonmal versucht die Liste per <c:eek:ut auszugeben? Existiert die Liste überhaupt?

Schreib dir einfach mal eine Bean mit einer Property, z.B.

Code:
public class SimpleBean {

    private String test;

    public String getTest() {
        return test;
    }

    public void setTest(String test) {
        this.test = test;
    }
}

Füll diese Bean und steck sie dann in die List, wiederhole dies noch ein paar mal und lass Dir dann die List ausgeben. Dann sollts funktionieren.
 
Zuletzt bearbeitet:
Also ich bin mal deinen Vorschlag nachgegangen:

Bean:

Code:
public class SimpleTest {
    private String test;

    public SimpleTest(){
    } 
    
    public SimpleTest(String _test){
    	test = _test;
    }
    
    public String getTest() {
        return test;
    }

    public void setTest(String test) {
        this.test = test;
    }
}

JSP:
Code:
<% 
	java.util.List test2 = new java.util.ArrayList( 6 );
	test2.add( new test.SimpleTest("Test String 1"));
	test2.add( new test.SimpleTest("Test String 5"));
	test2.add( new test.SimpleTest("Test String 4"));
	test2.add( new test.SimpleTest("Test String 3"));
	test2.add( new test.SimpleTest("Test String 2"));
	request.setAttribute( "test5", test2 ); 
	
%>
        <c:forEach var="attr" items="${requestScope.test5}">
		<c:out value="${attr.test}"/><br/>
	</c:forEach>
	<display:table name="${test2}"/>
	<display:table name="${requestScope.test5}"/>
	<display:table name="${test}"/>

Output:

Test String 1
Test String 5
Test String 4
Test String 3
Test String 2
Nothing found to display. Nothing found to display. Nothing found to display.


Ich kann mir das echt nicht erklären.
Hast du oder sonst jemand eine Idee dazu?

---*BEGIN EDIT*---
Vielleicht hilft dies Info noch zur Lösung des Problemes:
Libs:
antlr-2.7.5.jar
commons-beanutils.jar
commons-collections-3.1.jar
commons-configuration-1.1.jar
commons-fileupload-1.0.jar
commons-lang-2.0.jar
commons-logging.jar
commons-validator-1.1.4.jar
displaytag-1.0.jar --> displaytag-el-12.tld (kann da das Problem liegen; es is nur keine andere tld im zip file mit EL)
jakarta-oro-2.0.8.jar
jstl.jar
standard.jar
struts.jar
struts-el.jar
---*END EDIT*---

---*EDIT2*---
Ich hab das Problem gefunden -> war mein Fehler :rolleyes:
Die displaytag-el-12.tld unterstützt keine jsp 2.0 container
-----------------

mfg
 
Zuletzt bearbeitet:
Zurück