dude80 Skrevet 31. oktober 2004 Del 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 :-) Lenke til kommentar
Frank2004 Skrevet 1. november 2004 Del 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?) Lenke til kommentar
dude80 Skrevet 1. november 2004 Forfatter Del 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> Lenke til kommentar
Frank2004 Skrevet 1. november 2004 Del 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? Lenke til kommentar
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å