将参数从JSP发送到spring控制器
我正在使用SpringMVC开发一个web应用程序。我以下面的格式将参数从JSP传递到spring控制器。就像我必须传递两个参数一样将参数从JSP发送到spring控制器,spring,model-view-controller,jsp,Spring,Model View Controller,Jsp,我正在使用SpringMVC开发一个web应用程序。我以下面的格式将参数从JSP传递到spring控制器。就像我必须传递两个参数一样 <a href="/spring.html?data1=<%=data1 %>?data2=<%=data2 %>"> Hello </a> 这是传递参数的正确方法吗。我已经干运行我的代码很多次了,但是我的页面仍然给出空指针,所以我怀疑这是否是因为这个原因。你能告诉我这件事吗。谢谢。至少有两个技术错误: 您应该将请
<a href="/spring.html?data1=<%=data1 %>?data2=<%=data2 %>"> Hello </a>
这是传递参数的正确方法吗。我已经干运行我的代码很多次了,但是我的页面仍然给出空指针,所以我怀疑这是否是因为这个原因。你能告诉我这件事吗。谢谢。至少有两个技术错误:
data1=request.getParameter(“data1”);
data2=request.getParameter(“data2”);
&
,而不是?
。?
是请求查询字符串分隔符
顺便说一句,还有第三个错误,但这更多的是设计问题 如果是Spring MVC控制器,则不需要调用
request.getParameter
。您可以这样定义方法,参数将由MVC framework自动填充:
@RequestMapping(value="/myRequest", method=RequestMethod.GET)
@ResponseBody
public String handleMyRequest(
@RequestParam String data1,
@RequestParam String data2
) {
// your handler code here
// you will have data1 and data2 automatically populated by Spring MVC
}
非常感谢你的帮助。。我将尝试此方法在本例中如何传递对象,问题是在使用请求时无法键入case。GetParameter如果数据1和数据2是对象,那么如何在控制器中键入cast您犯了一个概念错误。HTML代码不能包含Java对象,只能包含一系列字符。Java中的字符序列由字符串表示。因此,您需要将它们转换为字符串,反之亦然。或者您可以将它们存储在某个地方(数据库、会话等),并传递一些唯一的标识符。您可以共享相应的jsp,以了解如何将对象从那里传递到这里吗。谢谢。您的JSP可以有一个简单的链接,比如:
,我建议您阅读一些关于
@RequestMapping(value="/myRequest", method=RequestMethod.GET)
@ResponseBody
public String handleMyRequest(
@RequestParam String data1,
@RequestParam String data2
) {
// your handler code here
// you will have data1 and data2 automatically populated by Spring MVC
}