tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
4990
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von x_Red_Eagle_x
    x_Red_Eagle_x x_Red_Eagle_x ist offline Mitglied Gold
    Registriert seit
    Aug 2003
    Beiträge
    181
    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?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    <% 
        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.
     

  2. #2
    Registriert seit
    Feb 2004
    Beiträge
    592
    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 .... ?
     

  3. #3
    Avatar von x_Red_Eagle_x
    x_Red_Eagle_x x_Red_Eagle_x ist offline Mitglied Gold
    Registriert seit
    Aug 2003
    Beiträge
    181
    Hallo

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

    Zitat Zitat von displaytag.sourceforge.net
    <% 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
     

  4. #4
    Registriert seit
    Feb 2004
    Beiträge
    592
    Hast du schonmal versucht die Liste per <c:out auszugeben? Existiert die Liste überhaupt?

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

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    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.
    Geändert von Romsl (15.06.05 um 10:36 Uhr)
     

  5. #5
    Avatar von x_Red_Eagle_x
    x_Red_Eagle_x x_Red_Eagle_x ist offline Mitglied Gold
    Registriert seit
    Aug 2003
    Beiträge
    181
    Also ich bin mal deinen Vorschlag nachgegangen:

    Bean:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    <% 
        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
    Die displaytag-el-12.tld unterstützt keine jsp 2.0 container
    -----------------

    mfg
    Geändert von x_Red_Eagle_x (16.06.05 um 14:07 Uhr)
     

Ähnliche Themen

  1. Wenn status = 1 aus style display:none display:block machen
    Von spikaner im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 16.01.11, 09:04
  2. display block / display none ?
    Von nordi im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 09.01.08, 11:43
  3. Display Problem
    Von xxlrock im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 16.10.06, 14:01
  4. Antworten: 1
    Letzter Beitrag: 19.01.06, 15:53
  5. Display Tag Library - Paging problem
    Von Tentoxa im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 28.11.05, 10:16