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

      

     

      

  • 相关阅读:
    hibernate 报query result offset is not supported
    MAC下 mySQL及workbench安装
    FC105 FC106 Scale功能块使用说明
    报错!!!Servlet.service() for servlet [action] in context with path [/myssh] threw exception [java.lang.NullPointerException] with root cause java.lang.NullPointerException
    PLC300寻址指令
    vscode 配置
    Integrate Intellij with Cygwin
    Configure VSCode
    Linux下安装gradle
    Linux下安装nodejs-源码安装
  • 原文地址:https://www.cnblogs.com/sanhuan/p/5239672.html
Copyright © 2020-2023  润新知