2

Spring MVC のコントローラーに値を送信する際に問題に直面しています。

hrefコントローラーメソッドに送信されたコントローラーを呼び出すと、次の方法で送信しました。

href='CIMtrek_Compliance_Daily_Shipments_Case_Pack_Calendar?date=<%=formatedDate%>'

しかし、JavaScriptを介して同じものを送信すると、この例外が発生しますThe request sent by the client was syntactically incorrect.

これは私がjavascriptを介して送信する方法です:

function getCasePackCalendar(date) {
     viewName ="CIMtrek_Compliance_Daily_Shipments_Case_Pack_Calendar?date="+date+" ";
     global.forms[0].action = viewName;
     global.forms[0].method = "GET"
     global.forms[0].submit()
}

これは私のコントローラメソッドです:

@RequestMapping(value = "/CIMtrek_Compliance_Daily_Shipments_Case_Pack_Calendar", method = RequestMethod.GET)

        public ModelAndView  CIMtrek_Compliance_Daily_Shipments_Case_Pack_Calendar(@RequestParam("date") String date,HttpServletRequest request) {
            String[] data = new String[] {date};
        HttpSession session = request.getSession(true);
        String UserName = "";
        if(session.getAttribute("CIMtrek_UserName")!=null)
         UserName = session.getAttribute("CIMtrek_UserName").toString();
        ViewContent vc = new ViewContent();
        String HTML = vc
        .getContent(
        "com/cim/xml/CIMtrek_Compliance_Daily_Shipments_Case_Pack_sql.xml",
        "com/cim/xsl/view.xsl", "1 and 10","1","","0",UserName,data,"");

        List<String> ls = new ArrayList<String>();
            ls.add(HTML);
            logger.info("Welcome CIMtrek_Visitors_By___Unipart_Div__Date__Host___Visitor!");
            Map<String, Object> model = new HashMap<String, Object>();

        model.put("list", ls);
        model.put("iSPost", "N");

        logger.info("Welcome CIMtrek_Compliance_Daily_Shipments_Case_Pack!");

        return new ModelAndView("view", model);

        }   

これが私がフォームを持っている方法です

<form id="CIMtrek_Compliance_Daily_Shipments">
                                               <input type="hidden" id="CIMtrek_selectedIDs" name="CIMtrek_selectedIDs" value="" />
                                               <input type="hidden" id="CIMtrek_xmlData" name="CIMtrek_xmlData" value="" />
                                               <input type="hidden" id="CIMtrek_formName" name="CIMtrek_formName" value="CIMtrek_Compliance_Daily_Shipments" />
                                             </form>

何が問題になる可能性があります。

見つけるのを手伝ってください。

よろしくお願いします。

4

1 に答える 1

3

何らかのデバッグ ツールを使用してください (たとえば、Chrome では F12->Network タブを使用するか、Firefox Firebug を使用して、ブラウザから形成されたリクエストを確認します)。パラメータの後の引用符) クライアント js で - それは正しくないようです。

フォームを処理する別のコントローラー メソッドを作成することをお勧めします。

この場合、フォームは正しくシリアル化されていません (実際には、正しい HTML フォームのシリアル化/パラメーターの受け渡しは、いくつかの RFC によって規制されています)。

于 2013-01-07T13:30:03.107 に答える