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

How to send parameter to a jsp page using querystring via a controller in spring framework?

本文关键字:jsp 参数 querystring 框架 spring 何通过 控制器      更新时间:2023-09-26

我有一个包含数据表的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;
});
});     

控制器:

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

目标JSP页面:

<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>

如果传递的值是"酷家伙",那么在url中它显示测试/集成?组=很酷的家伙。但在警告中,它只显示"酷"。请帮助。

这是我所做的得到的结果:我用下划线("_")代替空白。

pass_on=aData[0];
var res=pass_on.replace(/ /g,"_");
window.location.href = "/test/integrate"+"?"+"group="+res;

No more changes。其余的工作很好。我还是不知道为什么%20不工作

你需要通过cool%20guy

url不理解特殊字符

http://www.w3schools.com/tags/ref_urlencode.asp

对文本进行编码。对javascript

escape(...)

对于java,使用:

URLEncoder.encode( ,encoding)

在你的控制器中这样做:

@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";
}

在另一个JSP中这样做:

<body>
<input type="button" id="sub_but">
<input type="hidden" value="${group}" id="group_parameter">
$("#sub_but").click(function(){
alert($("#group_parameter").val());             
        });
</body>
我希望它能解决你的问题。:)