Spring - Edytowanie wielu obiektów na jednej formatce

Odpowiedz Nowy wątek
2015-02-07 16:39
0

Witam. Zastanawiam się czy możliwe jest edytowanie wielu obiektów w jednej formatce html i przesłanie tych wszystkich obiektów po wciśnięciu jakiegoś przycisku do odpowiedniej metody w javie.
Powiedzmy że mam taki fragment pliku jsp:

<form:form action="odbiorca.htm" method="POST" commandName="klient">

            <form:input path="imie"/><br>
            <form:input path="nazwisko"/><br>
            <form:input path="nazwa"/><br>
            <form:input path="ulica"/><br>

            <input type="submit" value="Submit"/>
        </form:form>

Problem plega na tym, że pola imię, nazwisko, nazwa należą do tego obiektu "klient" (typu Klient), ale ulica należy do innego obiektu (typu Adres), który chciałbym tutaj jednocześnie obsłużyć. Potem chciałbym przesłać oba te obiekty: czyli klient i adres do metody w javie, gdzie mógłbym jakoś je odebrać, np. w ten sposób:

@RequestMapping(value = "/odbiorca", method = RequestMethod.POST)
    public ModelAndView wypelnijOdbiorce(KlientNiezarejestrowany klient, Adres adres)
    {
        System.out.println(klient);
System.out.println(adres);
...
return costam;
}

Niestety na razie udaje mi się przesłać tylko obiekt Klient, jeśli próbuję stworzyć metodę z dwoma parametrami tego typu, wyskakuje błąd.

Pozostało 580 znaków

2015-02-07 16:59
0

Czy między obiektem klient i adres jest jakaś zależność? Np. w klient jest klucz obcy do tabeli adres? Wtedy nie byłoby problemu wystarczyłoby stworzyć relacje w klasach encyjnych i można się odwoływać potem np. tak:

klient.adres.ulica

.
Możesz też stworzyć obiekt typu DTO, który będzie przesyłał dwie klasy np. coś takiego:

class ClientDTO {
     Client client;
     Address address;
}

i przesyłać taki obiekt zawierający obie klasy.

edytowany 3x, ostatnio: olek1, 2015-02-07 17:00

Pozostało 580 znaków

2015-02-07 18:15
0

W sumie też mi przyszły te sposoby do głowy, ale myślałem, że powinien być jakiś prosty sposób, żeby przesyłać wiele obiektów nawet jeśli nie są powiązane. No nic, w takim razie dzięki.

Pozostało 580 znaków

2015-02-07 19:47
0

Da się to zrobić ale wtedy nie podajesz commandName w formie. Nie wiem jak dokładnie w JSTL ale FTL na przykład pozwala po prostu na podawanie w formularzu path na zasadzie "obiekt.pole".


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2015-02-17 14:08
0

Możesz to zrobić w ten sposób:
http://stackoverflow.com/a/16713488

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0