jsp和Java后台数据如何交互

<%
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 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);


新页面就能直接通过key值,使用${}来取值。



你可能感兴趣的:(js,jQuery,java)