jogrba Skrevet 1. mai 2008 Del Skrevet 1. mai 2008 (endret) Hei, Jeg har en JavaBean, test.Person: package test; public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } Og min JSP-fil tilsvarer denne koden: <jsp:useBean id="personBean" class="test.Person" type="test.Person" /> <% // Dummy object (in reality fetched from database using JPA): test.Person person = new test.Person(); person.setName("John"); person.setAge(30); // Instantiate the bean once more using the object: personBean = person; // Here is the reason setProperty fails. But why? %> <jsp:setProperty name="personBean" property="*" /> <%// This doesn't work. personBean.name and personBean.age are NOT set %> <fieldset> <legend><b><%= request.getParameter("name") == null ? "Before" : "After" %> editing:</b></legend> Name: <%= personBean.getName() %><br> Age: <%= personBean.getAge() %> </fieldset> <br> <form method="POST" action="person.jsp"> Name: <input type="text" name="name" value="new John"><br> Age: <input type="text" name="age" value="55"><br> <input type="submit"> </form> Det jeg er ute etter, er å hente et eksisterende objekt hvor attributt-verdier allerede er satt. Deretter vil jeg instansiere Java-bønna som dette objektet for å kunne redigere verdier på objektet. Jeg vet at jeg kunne gjort som dette: <% test.Person person = new test.Person(); person.setName("John"); person.setAge(30); person.setName(request.getParameter("name")); person.setAge(Integer.parseInt(request.getParameter("age"))); Problemet er at jeg har en bean med scope="session", siden jeg har at registreringsskjema som går over 3-4 sider. I tillegg, så har ojektet jeg henter fra databasen mange attributer, noe som ville betydd masse unødvendig manuelt arbeid. Og mange av attributtene er dessuten ikke av typen String, int, osv, men andre klasser og Enums osv, noe som krever enda mer ekstra arbeid. Alt dette kan jeg unngå hvis jeg bare hadde klart å instansiere bønna med objektet jeg allerede har, og dermed kunne endre verdiene direkte på bønna etterpå... <jsp:setProperty feiler og jeg forstår ikke hvorfor... Jeg har sittet og knotet med dette i 1 døgn nå, og med en prosjekt-frist som nærmer seg, så søker jeg hjelp her. Jeg hadde blitt veldig takknemlig om noen hadde en forklaring på hvordan man kan gjøre det jeg prøver på. Endret 1. mai 2008 av jogrba 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å