Java 如何在spring框架中通过控制器使用querystring向jsp页面发送参数?

Java 如何在spring框架中通过控制器使用querystring向jsp页面发送参数?,java,javascript,spring,jsp,spring-mvc,Java,Javascript,Spring,Jsp,Spring Mvc,我有一个包含数据表的JSP页面。我希望在单击时将行的第一列的内容传递给另一个jsp页面。我正在使用spring框架。我曾试图实现它,但遇到了一些问题。问题是:当我在另一个jsp页面中检索参数时,我会得到一些内容,但是第一个空格之后的内容会被跳过 以下是我尝试过的代码: 源jsp页面: $(document).ready(function(){ $("#mytable tbody tr").click(function(){ var aPos = $('#mytable').dataTab

我有一个包含数据表的JSP页面。我希望在单击时将行的第一列的内容传递给另一个jsp页面。我正在使用spring框架。我曾试图实现它,但遇到了一些问题。问题是:当我在另一个jsp页面中检索参数时,我会得到一些内容,但是第一个空格之后的内容会被跳过

以下是我尝试过的代码: 源jsp页面:

$(document).ready(function(){
$("#mytable tbody tr").click(function(){
    var aPos = $('#mytable').dataTable().fnGetPosition(this);
    var aData = $('#mytable').dataTable().fnGetData(aPos);     
    pass_on=aData[0];
    window.location.href = "/test/integrate"+"?"+"group="+pass_on;
});
});     
<body>
<input type="button" id="sub_but">
<input type="hidden" value=<%=request.getParameter("group") %> id="group_parameter">
$("#sub_but").click(function(){
alert($("#group_parameter").val());             
        });
</body>
控制员:

@RequestMapping(value="/test/integrate", method = RequestMethod.GET)
public String pass_parameter_by_type(ModelMap model,HttpServletRequest request,HttpServletResponse response) {

return "destination";
}
目标jsp页面:

$(document).ready(function(){
$("#mytable tbody tr").click(function(){
    var aPos = $('#mytable').dataTable().fnGetPosition(this);
    var aData = $('#mytable').dataTable().fnGetData(aPos);     
    pass_on=aData[0];
    window.location.href = "/test/integrate"+"?"+"group="+pass_on;
});
});     
<body>
<input type="button" id="sub_but">
<input type="hidden" value=<%=request.getParameter("group") %> id="group_parameter">
$("#sub_but").click(function(){
alert($("#group_parameter").val());             
        });
</body>

$(“#sub#u but”)。单击(函数(){
警报($(“#组_参数”).val();
});
如果传递的值是“cool guy”,则在url中显示test/integrate?group=cool guy。 但在警报中,它只显示“酷”。
请帮忙。

你需要通过酷%20guy

URL不理解特殊字符


在控制器中执行以下操作:

@RequestMapping(value="/test/integrate", method = RequestMethod.GET)
public String pass_parameter_by_type(ModelMap model,@RequestParam String group,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("group",group);
return "destination";
}
<body>
<input type="button" id="sub_but">
<input type="hidden" value="${group}" id="group_parameter">
$("#sub_but").click(function(){
alert($("#group_parameter").val());             
        });
</body>
在其他JSP中,请执行以下操作:

@RequestMapping(value="/test/integrate", method = RequestMethod.GET)
public String pass_parameter_by_type(ModelMap model,@RequestParam String group,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("group",group);
return "destination";
}
<body>
<input type="button" id="sub_but">
<input type="hidden" value="${group}" id="group_parameter">
$("#sub_but").click(function(){
alert($("#group_parameter").val());             
        });
</body>

$(“#sub#u but”)。单击(函数(){
警报($(“#组_参数”).val();
});

我希望它能解决你的问题

以下是我为获得结果所做的工作: 我将空格替换为下划线(“\u0”)

没有更多的变化。其余部分工作正常。
我仍然不知道为什么%20不起作用。

对文本进行编码。对于javascript

escape(...)
对于java,请使用:

URLEncoder.encode( ,encoding)

@Shailesh Saxena:它在控制器中引发错误:requestParam无法解析为类型-注释typeOops的属性值未定义!我错了!我编辑了我的答案并保留了正确的代码。我将空格替换为%20,但没有更改。谢谢您的建议:)