spring和jsp的数据传递。。。

常常通个页面向spring发出请求,服务器完成对数据的处理后,返回数据给jsp。这里有几种方式:

1,直接向jsp返回数据:

一定要在方法上加@ResponseBody如下:

spring

// 查询bug
@RequestMapping(params = "method=queryBug")
public @ResponseBody String querybug(String serviceid, String starttime) {

  //o为需要返回的数据,将它转换为json格式数据。。

  return JSONArray.fromObject(o).toString();
}

jsp:

遍历接收到的数据,i为索引,n如果为对象那么就用n.id   (n.字段名)的格式 

$.post("countBugHandle.do?method=query",{menuId: $('#menuId').val(),servId:servId,startTime:startTime,endTime:endTime,combobox_type:combobox_type}, function(data) {
		$("#tr").empty();
		$.each(data,function(i,n){
			if(i==0){
				var tr = $("<tr></tr>");
				$.each(n,function(j){
					if(j==0){
						tr.append("<td class='rows grade_col_first' >"+n[j]+"</td>");
					}else{
						tr.append("<td class='rows grade_col' >"+n[j]+"</td>");
					}
					
				});
				$("#gamedatetable").append(tr);
			}else{
				if(i%2==0){
					var tr = $("<tr style='background: #e6eaf2;'></tr>");
					$.each(n,function(j){
						tr.append("<td class='rows'>"+n[j]+"</td>");
					});
					$("#gamedatetable").append(tr);
				}else{
					var tr = $("<tr></tr>");
					$.each(n,function(j){
						tr.append("<td class='rows'>"+n[j]+"</td>");
					});
					$("#gamedatetable").append(tr);
				}
			}
		});
	}, "json");

  2,向jsp返回jsp文件:

return "acrosserveraction/acrosserBossShow";  就是指一个具体的jsp文件。。把数据存储到请求对象中
@RequestMapping(params = "method=select")
public String select(HttpServletRequest request, String bossid) {
  request.setAttribute("list", alist);
  return "acrosserveraction/acrosserBossShow";
}

jsp页面:

把返回的数据data用html的方法加载到div里。

	$("#boss_select").click(function(){
		$.post("acrosBoss.do?method=select",{
			"menuId":$("#menuId").val()
		}, function(data) {
			$("#show").html(data);
		}, "html");	
	}).button();

<span>所在位置:游戏控制----跨服boss</span><br><br><br>

<input type="button" id="boss_select" value="查询"/>

<div id = "show">

acrosserBossShow.jsp:在这个jsp里直接用el表达试,读取到存入在request中的数据,加载到页面上

<table id="gamedatetable" class="weight1150" border="0" cellpadding="0" cellspacing="0">
	  <tbody>
	  <tr style='line-height: 28px;'>
	  	<td class="col_50" ><a href="javascript:void(0)" onclick="invertTask()" style="color: green;">选择服务器</a></td>
	  	<td class="col_50 minwidth" >状态</td>
	  	<td class="col_50" >dbid</td>
	    <td class="col_50" >idx</td>
	  </tr>
	  <c:forEach items="${list}" var="n" varStatus="vs" >
			<td class='cen rows' >${n.serverid }<input type='checkbox' name='bossid' value='${n.dbid }' /></td>
			<td class='cen rows minwidth' >${n.status }</td>
			<td class='cen rows minwidth' >${n.dbid }</td>
			<td class='cen rows' >${n.idx }</td>
			</tr>
	  </c:forEach>  
	 </tbody>
</table>

  

 

  

原文地址:https://www.cnblogs.com/sanhuan/p/5239672.html