1

フォームを送信するためのJavaScriptオブジェクトを作成しようとしています。1つのプロパティはIDの配列である必要があります。以下を参照してください。

var customPostData = {
    lecturer:$("#modulesessform").serializeArray()[0].value,
    topic:$("#topic").val(),
    sessionType:$("#sessionType").val(),
    sessionDate:$("#sessionDate").val(),
    startTime:$("#startTime").val(),
    endTime:$("#endTime").val(),
    sessionStatus:$("#sessstatus").val(),
    attendedstudents:studentsattended.toSource()                                                                           
};

投稿データでは次のようになります。

attendedstudents    ["7348", "6472", "7392", "7235", "7399", "6943"]
endTime 8:30 PM
lecturer    5582
sessionDate Tuesday, October 02, 2012
sessionStatus   Completed
sessionType 1
startTime   5:30 PM
topic   bla

問題は最後のフィールドです。言えるようになりたいですattendedstudents[]:studentsattended.toSource。Spring MVCを使用していることがわかります。このパラメーターが何らかのコレクションであることを示すため[ ]に、名前と値のペアの一部としてが必要です。これが小さなスニペットです:

public @ResponseBody String ajaxcreate( @PathVariable("si") Long si,
                                        @RequestParam("sessionDate") @org.springframework.format.annotation.DateTimeFormat(pattern = "EEEE, MMMM dd, yyyy") java.util.Calendar sessionDate,
                                        @RequestParam("startTime") @org.springframework.format.annotation.DateTimeFormat(pattern = "hh:mm a") java.util.Calendar startTime,
                                        @RequestParam("endTime") @org.springframework.format.annotation.DateTimeFormat(pattern = "hh:mm a") java.util.Calendar endTime,
                                        @RequestParam("attendedstudents[]") ArrayList<Long> attendedstudents,
                                        Model uiModel, HttpServletRequest httpServletRequest) {//bla bla bla}

最後を参照してください@RequestParam。春に角かっこなしで試してみましたが、エラーが発生します。また、文字列の配列を使用して、文字列をlongとして解析してみました。以下を参照してください。

 @RequestParam("attendedstudents") String[] attendedstudents

これにより、この例外が発生しました。どうやら、それは文字列の一部として角括弧を解析しようとしています。

入力文字列の場合: "[" 7348 "" java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)java.lang.Long.parseLong(Long.java:410)java.lang.Long.valueOf(Long.java: 525)**

4

2 に答える 2

3

角かっこはキー名で有効です。文字列リテラルの一部として使用する必要があります。

customPostData["attendedstudents[]"]=studentsattended.toSource();
于 2012-11-21T16:50:31.110 に答える
3

引用符で囲みます

'attendedstudents[]' :
于 2012-11-21T16:51:50.993 に答える