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!