Rumah  >  Artikel  >  Java  >  Bagaimanakah cara saya Menghalang Pembolehubah Laluan daripada Memotong dalam Spring MVC?

Bagaimanakah cara saya Menghalang Pembolehubah Laluan daripada Memotong dalam Spring MVC?

Susan Sarandon
Susan Sarandonasal
2024-11-01 03:16:02990semak imbas

How do I Prevent Path Variables from Truncating in Spring MVC?

Pembolehubah Laluan Terpenggal dalam Spring MVC

Apabila menggunakan pembolehubah laluan dalam Spring MVC, anda mungkin menghadapi situasi di mana aksara khas dalam pembolehubah menyebabkan ia dipotong. Ini boleh membawa kepada hasil dan ralat yang tidak dijangka.

Masalah:

Dalam pengawal yang disediakan, @PathVariable blahName akan dipotong apabila mengakses URL dengan aksara khas. Sebagai contoh, laluan seperti "get/blah2010.08.19-02:25:47" akan menyebabkan blahName ditetapkan kepada "blah2010.08".

Sebab:

Secara lalai, Spring MVC menjangkakan pembolehubah laluan mengikut format tertentu dan aksara seperti noktah dan sempang sering ditafsirkan sebagai pembatas. Ini menyebabkan pembolehubah dipotong pada titik di mana watak sedemikian ditemui.

Penyelesaian:

Untuk mengelakkan pemotongan, anda boleh menggunakan ungkapan biasa dalam @ Hujah RequestMapping. Ini membolehkan anda menentukan corak yang lebih fleksibel untuk pembolehubah laluan. Sebagai contoh, ungkapan biasa berikut akan membenarkan mana-mana aksara dalam pembolehubah blahName:

@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName:.+}")

Dengan menambahkan :. kepada @PathVariable, anda mendayakan corak untuk memadankan mana-mana aksara sekali atau lebih. Ini memastikan bahawa keseluruhan pembolehubah laluan ditangkap, tanpa mengira sebarang aksara khas yang mungkin terkandung di dalamnya.

Atas ialah kandungan terperinci Bagaimanakah cara saya Menghalang Pembolehubah Laluan daripada Memotong 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