ฉันกำลังส่งพารามิเตอร์จากแบบฟอร์มด้วยวิธีนี้:
myparam[0] : 'myValue1'
myparam[1] : 'myValue2'
myparam[2] : 'myValue3'
otherParam : 'otherValue'
anotherParam : 'anotherValue'
...
ฉันรู้ว่าฉันสามารถรับพารามิเตอร์ทั้งหมดในเมธอดคอนโทรลเลอร์ได้โดยการเพิ่มพารามิเตอร์เช่น
public String controllerMethod(@RequestParam Map<String, String> params){
....
}
ฉันต้องการผูกพารามิเตอร์ myParam [] (ไม่ใช่พารามิเตอร์อื่น ๆ ) กับรายการหรืออาร์เรย์ (อะไรก็ตามที่เก็บลำดับดัชนี) ดังนั้นฉันจึงลองใช้ไวยากรณ์เช่น:
public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){
....
}
และ
public String controllerMethod(@RequestParam(value="myParam") String[] myParams){
....
}
แต่ไม่มีข้อใดผูกมัด myParams แม้ว่าฉันจะเพิ่มค่าให้กับแผนที่ แต่ก็ไม่สามารถผูกพารามิเตอร์ได้:
public String controllerMethod(@RequestParam(value="myParam") Map<String, String> params){
....
}
มีไวยากรณ์ใดบ้างที่จะผูกพารามิเตอร์บางตัวเข้ากับรายการหรืออาร์เรย์โดยไม่ต้องสร้างวัตถุเป็น @ModelAttribute โดยมีแอตทริบิวต์รายการอยู่
ขอบคุณ
method = RequestMethod.GETหรือmethod = RequestMethod.POST? หาก.GET @RequestParam List<String> groupValทำ?groupVal=kkk,ccc,mmmสำเร็จ ( Spring Boot )
HandlerMethodInvoker.resolveRequestParamจะได้รับค่าแรกเท่านั้น