Rumah >Java >javaTutorial >Bagaimana untuk Ubah hala ke URL Luaran dalam Spring MVC?

Bagaimana untuk Ubah hala ke URL Luaran dalam Spring MVC?

Barbara Streisand
Barbara Streisandasal
2024-11-11 17:10:03225semak imbas

How to Redirect to External URLs in Spring MVC?

Mengubah hala ke URL Luaran dalam Spring MVC

Dalam Spring MVC, ubah hala: awalan sering digunakan untuk mengubah hala pengguna dalam aplikasi. Walau bagaimanapun, mungkin terdapat keadaan di mana kita perlu mengubah hala ke URL luaran.

Pernyataan Masalah

Coretan kod berikut mengubah hala pengguna ke URL dalam projek:

@RequestMapping(method = RequestMethod.POST)
public String processForm(..., String redirectUrl) {
    return "redirect:" + redirectUrl;
}

Sebagai alternatif, kod berikut memerlukan spesifikasi protokol (HTTP/HTTPS) untuk luaran ubah hala:

@RequestMapping(method = RequestMethod.POST)
public String processForm(..., String redirectUrl) {
    return "redirect:" + "http://" + redirectUrl;
}

Penyelesaian

Untuk mengubah hala ke URL luaran tanpa menyatakan protokol atau mengubah hala ke paparan, pertimbangkan penyelesaian ini:

Kaedah 1:

Tetapkan pengepala Lokasi dan kod status terus:

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

Kaedah 2:

Gunakan ModelAndView untuk mengubah hala ke URL luaran:

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

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

Kenyataan:
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