您的位置:首页 > 编程语言 > Java开发

jsp和Java后台数据如何交互

2018-03-23 16:17 323 查看
<%
String path = request.getContextPath();
%>
获取jsp所在工程的名称
var ids = new Array();

$.ajax({
        type : "POST",
        contentType : 'application/json',
url : '<%=path%>/ui/product/havePsmPackage',
data:JSON.stringify(ids),
async :false,
dataType : "json",
success : function(data) {
},
error:function(){

}
});
1、前台如果传的是一个集合,后台可以使用参数 @RequestBody List<String> ids 来接收
2、如果前台是这种传值方式 data:{"name":name,"id":id}, 
那后台可以通过创建一个字段名称对应的实体类来接收
或者使用String name = request.getParameter("name")的方式来接收

3、如果ajax选择的GET方法,那后台方法的字段名称和url的入参名称保持一致就能接收到数据了
4、window.location.href="<%=path%>/ui/psmpackage/toPsmPackageList";
这是跳转到新页面的方法
@RequestMapping(value = "/toPsmPackageList")
public String toPsmPackageList(HttpServletRequest request) {
return "psmPackage/psmPackageList";

}
这是后台的接受方式,返回的是对应jsp的文件夹和文件名
页面跳转的方法不需要@ResponseBody注解,而获取返回值的方法则一定要加,不然获取不到返回值

5、window.open(url); 可以在浏览器上新开一个页面。对应的是window.close();
6、如何将数据带到新增的页面
第一:第一个页面通过
window.location.href="<%=path%>/ui/product/condition?lineCode="+lineCode+"&typeCode="+typeCode;传值
在新页面可以通过var lineCode = '<%=(String)request.getParameter("lineCode")%>'这种方式来取值
第二:后台代码这样处理request.setAttribute("product", result);
<input name="id" type="text" value="${product.id}" />

新页面就能直接通过key值,使用${}来取值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐