2011-01-14 15 views
1

Ich möchte eine Getter-Methode (gibt String-Wert) einer Java-Klasse von JSP mit "jsp: usebean" aufrufen, aber es gibt einen Nullwert zurück. Was ich nicht verstehe ist, warum es den aktualisierten Wert nicht zurückgeben kann.Java/Java EE: Getter-Methode von JSP aufrufen

  1. Kann jemand etwas Licht darauf werfen?

  2. Sollte ich einen Cookie verwenden, um den Wert von JSP zu erhalten?

+0

können Sie Ihren Code bitte zeigen? –

+1

Verwenden Sie auf keinen Fall einen Cookie, um den Wert zu erhalten. Wahrscheinlich müssen Sie nur Ihre Protokollierungsstufe auf DEBUG stellen, damit Sie besser sehen können, was mit Ihrer Bean passiert. – jmort253

+0

Es wäre hilfreich, wenn Sie einen Code schreiben könnten – ryanprayogo

Antwort

4

Ich bin nicht sicher, was Sie mit (Struts, plain Servlets, etc.), aber im Wesentlichen müssen Sie ein Attribut der ServletRequest wie hinzuzufügen:

class Person { 
    private String firstName; 
    // other fields, getters, setters 
} 

public void method(HttpServletRequest httpServletRequest) { 
    Person p = new Person(); 
    p.setFirstName("Obama"); 
    httpServletRequest.setAttribute("person", p); 
} 

und in JSP :

<jsp:getProperty object="person" property="firstName" /> 

oder wenn Sie JSTL:

<c:out value="${person.firstName}"/> 
2

Es ist einfach.

In Java-Datei:

package loga; 
class bean{ 

String name; 
public void setName(String Uname) 
{ 
this.name=Uname; 
} 
public void getName() 
{ 
return name; 
} 

In jsp-Datei, rufen Sie diese Methode als:

<jsp:useBean id="object" class="loga.bean"> 
<jsp:setproperty name="object" property="Name" Value="XXXX"/> 
<jsp:getProperty name="object" property="Name"/> 
</jsp:usebean> 

Hier zeigt die Eigenschaft den Namen der Methode des getName() in der Java-Klasse. Um Wert von anderen Steuerelementen zu übergeben, verwenden Sie die Eigenschaft param und geben Sie den Namen des Steuerelements an.

+0

Vielen Dank .... :) – Bibhaw