Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
hi, also ich arbeite demnaechst mit escenic und da gibts halt viele viele beans, die im entsrepchenden scope bereit stehen. aber mit servlets wird da nix gemacht. aber ich hab gestern gesehen, dass es keine methoden sind, sondern variablen...also die kann man ja auslesen...denk ich.
Was ist denn überhaupt eine Bean im WebApp-Umfeld? Also ich hab's so verstanden, daß man mitlerweise kein spezielles Interface mehr dazu implementiert, sondern sich einfach daran hält, daß die Klasse getXYZ- und setXYZ-Methoden implementiert.
In bezug auf die ursprüngliche Frage hieße das, daß man mit der JSTL so ein Objekt dann einfach per EL verwenden kann: Wenn ich z.B. eine Methode 'getElements()' auf einer Instanz 'bean' habe, die mir eine Liste zurück gibt, dann kann ich dies im Beispiel nutzen als:
Oder wenn es eine Methode 'getHasElements()' gibt, kann man dies in JSP per JSTL+EL nutzen als:
Code:
<c:if test="${bean.hasElements}">Yup</c:if>
Und wenn eine Methode 'getHelloWorld()' einen String liefert, dann kann man diesen ohne JSTL im JSP mit der (JSP2-)EL nutzen:
Code:
<h1>${bean.helloWorld}</h1>
Fragen wäre hier: Gibt es Regeln, was eine Bean "ausmacht"? Muß es immer Getter/Setter-Paare geben? Darf eine Bean auch Methoden haben, die nicht diesem Schema entsprechen? Kann bzw. "darf" man auch diese Methoden in der JSP (z.B. per jsp:scriptlet) aufrufen?
Nimmt man hier obiges Beispiel: In der JSP sieht das "bean.hasElements" ja echt hübsch aus, aber wenn ich die Methode in einem Servlet benutze, dann wär's mir ja doch irgendwo lieber, wenn sie auch dort einfach 'hasElements' anstatt 'getHasElements' hieße. Wie realisiert man sowas "vernünftig"?
hi, eine bean muss immer setter und getter haben, die so heissen, wie die properties + set oder get. hat man also ein property string, gibt es eine getString und setString methode. das hab ich naemlich nicht beachtet und das wars problem!