dude80 Skrevet 31. oktober 2004 Skrevet 31. oktober 2004 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 :-)
Frank2004 Skrevet 1. november 2004 Skrevet 1. november 2004 Du har lagt inn bønna i en eller annen kontekst hvor jsp'en kan få tak i den? (Request-scope, f.eks?)
dude80 Skrevet 1. november 2004 Forfatter Skrevet 1. november 2004 Har prøvd det. Det som skjer, er at den skriver ut "nothing" istedet for den verdien som blir satt i bønna 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>
Frank2004 Skrevet 1. november 2004 Skrevet 1. november 2004 Har prøvd det. Det som skjer, er at den skriver ut "nothing" istedet for den verdien som blir satt i bønna 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?
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå