Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Ubah hala ke URL Luaran daripada Tindakan Pengawal Spring MVC?

Patricia Arquette
Lepaskan: 2024-11-12 00:04:02
asal
990 orang telah melayarinya

How to Redirect to External URLs from Spring MVC Controller Actions?

Mengubah hala ke URL Luaran daripada Tindakan Pengawal Spring MVC

Dalam Spring MVC, mengubah hala ke URL dalam projek adalah mudah menggunakan ubah hala: awalan . Walau bagaimanapun, mengubah hala ke URL luaran boleh menjadi rumit, terutamanya jika URL tidak menyatakan protokol yang sah.

Pertimbangkan kod berikut, yang mengubah hala ke URL dalam projek:

@RequestMapping(method = RequestMethod.POST)
public String processForm(HttpServletRequest request, LoginForm loginForm, 
                          BindingResult result, ModelMap model) 
{
    String redirectUrl = "yahoo.com";
    return "redirect:" + redirectUrl;
}
Salin selepas log masuk

Kod ini tidak akan mengubah hala ke URL luaran yang dimaksudkan tetapi mengubah hala ke paparan dengan nama yang diberikan. Untuk mengubah hala ke URL luaran, seseorang mesti memasukkan protokol dalam URL, seperti yang dilihat di bawah:

@RequestMapping(method = RequestMethod.POST)
public String processForm(HttpServletRequest request, LoginForm loginForm, 
                              BindingResult result, ModelMap model) 
{
    String redirectUrl = "http://www.yahoo.com";
    return "redirect:" + redirectUrl;
}
Salin selepas log masuk

Walau bagaimanapun, kaedah ini memerlukan kehadiran protokol yang sah. Untuk mengendalikan URL tanpa protokol yang sah, dua pendekatan tersedia:

Pendekatan 1:

@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public void method(HttpServletResponse httpServletResponse) {
    httpServletResponse.setHeader("Location", projectUrl);
    httpServletResponse.setStatus(302);
}
Salin selepas log masuk

Dalam pendekatan ini, objek HttpServletResponse digunakan untuk menetapkan pengepala lokasi dan kod status, memaksa ubah hala.

Pendekatan 2:

@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public ModelAndView method() {
    return new ModelAndView("redirect:" + projectUrl);
}
Salin selepas log masuk

Pendekatan ini menggunakan ModelAndView untuk mengubah hala ke URL yang diberikan.

Atas ialah kandungan terperinci Bagaimana untuk Ubah hala ke URL Luaran daripada Tindakan Pengawal Spring MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan