Różnice między @RequestMapping
, @ActionMapping
i @RenderMapping
nie są dla mnie zbyt jasne. Wygląda na to, że wszystkie powyższe elementy ostatecznie mapują adres URL żądania do faktycznej metody w kontrolerze. Jaka jest różnica? Co można zrobić przez @Rendermapping
, którego nie można wykonać przez @Requestmapping
?Różnica między działaniem @ actionMapping, @ requestmapping, @ Rendermapping
Odpowiedz
@RequestMapping
pozwala określić tryb (EDYCJA, WIDOK itp.) I wiele innych opcji (chociaż nie jest to stan okna). @RenderMapping
pozwala określić tylko parametry żądania i stan okna (MAXIMIZED, NORMAL itd.) I jest wygodnym sposobem wskazania mapowania żądań renderingu. Możesz użyć obu adnotacji na tej samej klasie. Na przykład możesz dodawać adnotacje na poziomie klasy za pomocą polecenia RequestMapping, aby wskazać obsługę żądań dla trybu WIDOK, a następnie na poziomie metody zanotuj obsługę procedur dla konkretnych żądań z @RenderMapping
(lub @ActionMapping
lub @ResourceMapping
).
Pomocne może być teraz wypowiedzenie się na temat różnych typów wniosków.
Żądania renderowania służą do renderowania kodu HTML, dlatego zazwyczaj wyświetlany jest widok strony JSP lub inny typ widoku.
Żądania działania służą do wykonywania czynności, takich jak modyfikowanie danych, przesyłanie plików itp. Ważne jest, aby pamiętać, że po każdym żądaniu akcji następuje żądanie renderowania. Jeśli więc masz dwa portlety na swojej stronie i wysyłasz żądanie działania do portletu, otrzymasz żądanie akcji, a następnie żądanie renderowania. Portlet drugi po prostu otrzyma żądanie renderowania.
Jest jeszcze inny rodzaj wniosku, który nie wspominając, który jest również interesujące
żądań zasobów może być używany do renderowania inne typy zawartości. AJAX jest częstym przypadkiem użycia dla żądań zasobów, ponieważ są one na przykład odpowiednie do zwrócenia JSON lub XML.
Żądania zdarzeń istnieją również i mogą być używane do komunikacji między portletami.
Mogę polecić Spring portlet docs. Chociaż nie obejmują one dobrze adnotacji, tłumaczą różne typy żądań i powinieneś być w stanie wykorzystać te informacje do opracowania adnotacji.
NB. Można użyć @RequestMapping
do zdefiniowania żądań renderowania, akcji i zasobów, ale można je wygodniej uzyskać, korzystając z bardziej dogodnych sposobów: @RenderMapping
, @ActionMapping
lub @ResourceMapping
.