Java 如何在spring框架中通过控制器使用querystring向jsp页面发送参数?
我有一个包含数据表的JSP页面。我希望在单击时将行的第一列的内容传递给另一个jsp页面。我正在使用spring框架。我曾试图实现它,但遇到了一些问题。问题是:当我在另一个jsp页面中检索参数时,我会得到一些内容,但是第一个空格之后的内容会被跳过 以下是我尝试过的代码: 源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
$(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,但没有更改。谢谢您的建议:)