Java Spring Controller หลายวิธีในการรับพารามิเตอร์การร้องขอ
1. เขียนพารามิเตอร์ของแบบฟอร์มโดยตรงในพารามิเตอร์อย่างเป็นทางการของวิธีการที่สอดคล้องกันของคอนโทรลเลอร์ซึ่งเหมาะสำหรับการส่งวิธี GET แต่ไม่ใช่สำหรับการส่งวิธีการโพสต์ หาก "ประเภทเนื้อหา" = "แอปพลิเคชัน/x-www-form-urlencoded" คุณสามารถส่งโดยโพสต์
แบบฟอร์ม URL: http: // localhost: 8080/ssmdemo/demo/adduser1? ชื่อผู้ใช้ = lixiaxi & password = 1111111 พารามิเตอร์ที่ส่งจะต้องสอดคล้องกับชื่อพารามิเตอร์ในวิธีคอนโทรลเลอร์
/** * 1. เขียนพารามิเตอร์ของแบบฟอร์มโดยตรงในพารามิเตอร์อย่างเป็นทางการของวิธีการที่สอดคล้องกันของคอนโทรลเลอร์ * @param ชื่อผู้ใช้ * @param รหัสผ่าน * @return */@requestmapping ("/adduser1") สตริงสาธารณะ adduser1 System.out.println ("รหัสผ่านคือ:"+รหัสผ่าน); ส่งคืน "การสาธิต/ดัชนี"; - 2. รับผ่าน httpservletrequest ทั้งโพสต์และวิธีการรับใช้ก็โอเค
/** * 2. รับผ่าน httpservletRequest * @param Request * @return */@requestmapping ("/adduser2") สตริงสาธารณะ adduser2 (คำขอ httpservletrequest) {string username = request.getParameter ("username"); สตริงรหัสผ่าน = request.getParameter ("รหัสผ่าน"); System.out.println ("ชื่อผู้ใช้คือ:"+ชื่อผู้ใช้); System.out.println ("รหัสผ่านคือ:"+รหัสผ่าน); ส่งคืน "การสาธิต/ดัชนี"; - 3. รับผ่านถั่วทั้งโพสต์และรับได้
/** * 3. รับผ่านถั่ว * @param ผู้ใช้ * @return */@requestmapping ("/adduser3") สตริงสาธารณะ adduser3 (ผู้ใช้ usermodel) {system.out.println ("ชื่อผู้ใช้คือ:" user.getUserName (); System.out.println ("รหัสผ่านคือ:"+user.getPassword ()); ส่งคืน "การสาธิต/ดัชนี"; -4. ใช้คำอธิบายประกอบ @ModelAttribute เพื่อรับข้อมูลแบบฟอร์มแบบฟอร์มของคำขอโพสต์
/** * 4. ใช้คำอธิบายประกอบ @modelattribute เพื่อรับข้อมูลแบบฟอร์มแบบฟอร์มของคำขอโพสต์ * @param ผู้ใช้ * @return */@requestmapping (value = "/adduser5", method = requestmethod.post) adduser5 (@modelattribute ( คือ: "+user.getUserName ()); System.out.println ("รหัสผ่านคือ:"+user.getPassword ()); ส่งคืน "การสาธิต/ดัชนี"; - 5. ใช้คำอธิบายประกอบ @RequestParam เพื่อผูกพารามิเตอร์การร้องขอกับวิธีการป้อนพารามิเตอร์
เมื่อไม่มีชื่อผู้ใช้พารามิเตอร์คำขอจะมีข้อยกเว้นจะเกิดขึ้น คุณสามารถแก้ปัญหาได้โดยการตั้งค่าคุณสมบัติที่จำเป็น = false ตัวอย่างเช่น:
@RequestParam (value = "ชื่อผู้ใช้", ต้องการ = false) **** ถ้า "เนื้อหาประเภท" = "แอปพลิเคชัน/x-www-form-urlencoded", โพสต์ได้รับ **** ถ้า "content-type" = "แอปพลิเคชัน/แอปพลิเคชัน/json" @return */ @requestmapping (value = "/ addUser6", method = requestMethod.get) สตริงสาธารณะ addUser6 (@requestparam ("ชื่อผู้ใช้") สตริงสตริง, @requestparam ("รหัสผ่าน") รหัสผ่าน) System.out.println ("รหัสผ่านคือ:"+รหัสผ่าน); ส่งคืน "การสาธิต/ดัชนี"; - 6. ใช้ request.getQueryString () เพื่อรับพารามิเตอร์ของการร้องขอ Spring MVC GET และจะใช้คำขอได้เฉพาะ
@RequestMapping (value = "/addUser6", method = requestMethod.get) สตริงสาธารณะ addUser6 (คำขอ httpservletRequest) {system.out.println ("ชื่อผู้ใช้คือ:" request.getQueryString ()); ส่งคืน "การสาธิต/ดัชนี"; -ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้ ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!