Gå til innhold

Anbefalte innlegg

Jeg holder på å lære meg JSP programmering. Har nå en ControllerServlet, en bønne og en jsp-side.

Det jeg ønsker er at ControllerServleten skal gi en variabel i bønna en verdi. Hvordan skal jeg skrive koden for dette i ControllerServleten?

 

Har prøvd med følgende

Bønne b = new Bønne;

b.setVariabel(var);

 

Men får en feil når jeg fra JSP-siden kaller bønna. Verdien blir ikke skrevet ut.

 

Håper noen kan hjelpe :-)

Lenke til kommentar
Videoannonse
Annonse

Har prøvd det. Det som skjer, er at den skriver ut "nothing" istedet for den verdien som blir satt i bønna :no:

 

ControllerServlet.java

Package Test; 
import java.util.*; 
import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
import java.util.*; 

public class Controller2Servlet extends HttpServlet 
{ 
 private String text; 

public void init(ServletConfig conf) throws ServletException 
   { 
   super.init(conf); 
   } 

public void doPost(HttpServletRequest request, HttpServletResponse response) 
   throws ServletException, IOException 
   { 

     String text = "Testing..."; 
     Bean b = new Bean(); 
     b.settext(text); 
     request.setAttribute("Bean", b); 
     request.getRequestDispatcher("/jspPage.jsp").forward(request, response); 

 } 

 public void doGet(HttpServletRequest request, HttpServletResponse response) 
   throws ServletException, IOException 
   { 
   doPost(request, response); 
   } 
} // end class Controller2servlet 

 

Bean.java

package Test; 
import java.util.*; 
import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class Bean implements Serializable 
{ 
 private String text ="nothing" 

 public void Bean() 
 { 
 } 

 public String gettext() 
 { 
   return text; 
 } 


 public void settext(String text) 
 { 
    this.text = text; 
  } 
} 

 

jspPage.jsp

<jsp:useBean id="writetext" class="Test.Bean"/> 
<jsp:setProperty name="writetext" property="*"/> 
</jsp:useBean> 


<html> 
<body> 
Welcome 

<jsp:getProperty name="writetext" property="text"/> 

<body> 
</html> 

Lenke til kommentar
Har prøvd det. Det som skjer, er at den skriver ut "nothing" istedet for den verdien som blir satt i bønna  :no:

 

ControllerServlet.java

public void doPost(HttpServletRequest request, HttpServletResponse response) 
   throws ServletException, IOException { 
     String text = "Testing..."; 
     Bean b = new Bean(); 
     b.settext(text); 
     request.setAttribute("Bean", b); 
     request.getRequestDispatcher("/jspPage.jsp").forward(request, response); 
 } 

Om du prøver noe sånt som <jsp:useBean id="Bean" scope="request" class="....."/> da?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...