Announcement

Collapse
No announcement yet.

einen String aus ContentBean an eine JSP übergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • einen String aus ContentBean an eine JSP übergeben

    Hallo,
    bin Anfänger in Sachen Beans und JSP's. Habe hier Beispiel Code mit dem ich mir den Titel aus einem Content hole und mir über den Browser anzeigen lasse. Dieses funktioniert auch ! Jetzt möchte ich mir zusätzlich einen einfachen String ausgeben lassn ; aber dieses funktioniert nicht, obwohl ich jetty neugestartet habe

    Fehlermeldung im Browser : javax.el.PropertyNotFoundException: The class 'com.xyz.abc.contentbeans.LinkableImpl' does not have the property 'StringLiteral'.

    LinkableImpl.java :

    Code:
    public class LinkableImpl extends AbstractContentBean implements Linkable {
    
    	
    	public String StringLiteral = "Spencer";
    	
    	public String getTitle() {
    		return getContent().getString("title");
    	}
    	
    	public String getText()
    	{
    		return StringLiteral;
    	}
    
    }
    Linkable.java :
    Code:
    package com.xxx.yyy.contentbeans;
    
    public interface Linkable {
    
    	public abstract String getTitle();
    	public abstract String getText();
    
    }
    Linkable.jsp
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     
    
      <meta http-equiv="content-Script-Type" content="text/javascript"/>
      <meta http-equiv="content-Style-Type" content="text/css"/>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
      <meta http-equiv="content-language" content="de"/>
    
    </head>
    
    <body>
    
    <h1>Page displays content of ${self.title}</h1>  // funktioniert !!!!!
    <h1>Text -> ${self.StringLiteral}</h1>             //  funktioniert nicht.
    </body>
    
    </html>
    }
    Jmd ne Idee ?

  • #2
    Die Getter/Setter gemäß Beankonvention für

    StringLiteral

    fehlen
    Christian

    Comment


    • #3
      Aha, danke .. bräuchte ne kleine Starthilfe, da später alles aufeinander aufbaut ... wie würde das für dieses einfache Beispiel denn aussehen ; diese Beankonvention ?

      Comment


      • #4
        [highlight=java]
        private String stringLiteral;

        public String getStringLiteral() {
        return stringLiteral;
        }

        public void setStringLiteral(String stringLiteral) {
        this.stringLiteral = stringLiteral;
        }


        [/highlight]
        Zuletzt editiert von Christian Marquardt; 17.09.2013, 09:22.
        Christian

        Comment


        • #5
          Leider habe ich immer noch diese Fehlermeldung...

          Linkable.java :

          public interface Linkable {

          public abstract String getTitle();
          public abstract String getStringLiteral();
          //public abstract String setStringLiteral();

          }


          LinkableImpl.java :

          public class LinkableImpl extends AbstractContentBean implements Linkable {

          private String StringLiteral = "";
          private String stringLiteral = "Spencer";

          public String getTitle() {
          return getContent().getString("title");
          }

          public void setStringLiteral(String stringLiteral)
          {
          StringLiteral = stringLiteral;
          }

          public String getStringLiteral()
          {
          return StringLiteral;
          }

          }
          Zuletzt editiert von christian78; 17.09.2013, 09:13.

          Comment


          • #6
            Du wiederholst dich -> siehe Beitrag #4

            Des Weiteren
            - Variablennamen werden in Java kleingeschrieben
            - Warum sind die Methoden im Interface abstract? Die Klasse die das Interface implementiert muss auch die Methoden implementieren
            Zuletzt editiert von Christian Marquardt; 17.09.2013, 09:12.
            Christian

            Comment


            • #7
              Beiträge nachträglich ändern ist nicht sehr schön!

              private String StringLiteral = "";
              private String stringLiteral = "Spencer";

              Was ist das?

              setze das sauber auf:
              [highlight=java]
              private String stringLiteral;

              public String getStringLiteral() {
              return stringLiteral;
              }

              public void setStringLiteral(String stringLiteral) {
              this.stringLiteral = stringLiteral;
              }


              [/highlight]
              Compiliere und deploye neu.

              Du bist sicher, dass du JSP nutzt und nicht JSF?
              Christian

              Comment


              • #8
                Sorry, das war nicht beabsichtigt ; mit Beitrag umändern ..hatte einen alten Beitrag ausversehen wieder verschickt ...
                Es funktioniert jetzt. Danke

                Comment


                • #9
                  Das hat den Grund, dass man nicht merkt, das sich etwas geändert hat am Thread u.U. keine Antwort mehr kommt
                  Christian

                  Comment

                  Working...
                  X