我遇到了在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>
可能是什么问题。
请帮我找到它。
最诚挚的问候。
答案 0 :(得分:3)
请使用一些调试工具(例如在Chrome中使用F12-&gt;网络标签,或使用Firefox Firebug查看从浏览器形成的请求)在这种情况下,您将表单参数放入视图名称(甚至添加一些在您的客户端js中参数之后的引号中的奇怪空格符号 - 它似乎不对。
我建议你制作一个单独的控制器方法来处理你的表单。
在这种情况下,您的表单被错误地序列化(实际上正确的html表单序列化/参数传递受到多个RFC的约束)。