MVC 后台传值,前台JS接收的问题

JavaScript08

MVC 后台传值,前台JS接收的问题,第1张

var PageNum = '@ViewBag.PageNum'

var Count = '@ViewBag.Count'

这种方法可以将后台的值直接传给JS,解决你的问题,如果给JS传对象,感觉好像不行!有兴趣的朋友可以去试试!

通过request的getParameter的方法获取

1、通过request.getParameter("参数名")获取后台的值

2、通过<%=变量%>的方式赋给js变量

示例:

<script>

<%

String s2 = (String)request.getParameter("参数名")//获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言

%>

var s = '<%=s2%>'//输出s2给js变量s

</script>

SpringMVC是通过controller给jsp传值的。

在springmvc中的controller所对应的函数中,如果需要从*.jsp页面中获取数据,可以自行在函数括号中写,springmvc会自动封装传过来的。

举例:

1、Controller.java 两种形式都可以,但是第二种,jsp页面中的参数是personList1

//列表

@RequestMapping("/listAll")

public String listAll(Map<String,Object>model){

List<Person>personList = ps.listAll()

model.put("personList", personList)

System.out.println(" listall hello")

return "person/jPersonList"

}

//列表

@RequestMapping("/listAllOther")

public String listAllOther(Model model){

List<Person>personList1 = ps.listAll()

model.addAttribute(personList1)

System.out.println(" listallother1 hello")

return "person/jPersonList"

}

2、jsp页面中

<%@ page language="java" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<html>

<head>

<title>My JSP 'index.jsp' starting page</title>

</head>

<body>

<h2>用户列表</h2>

<div style="padding:10px"><a href="${pageContext.request.contextPath}/person/tocreate.action">新增</a></div>

<table border="1">

<tr>

<td>photo</td>

<td>id</td>

<td>name</td>

<td>age</td>

<td>操作</td>

</tr>

<c:forEach items="${personList}" var="p">

<tr>

<td><img src="${pageContext.request.contextPath}"/></td>

<td>${p.id}</td>

<td>${p.name}</td>

<td>${p.age}</td>

<td>

<a href="${pageContext.request.contextPath}/person/toupdate.action?id=${p.id}">修改</a>

<a href="${pageContext.request.contextPath}/person/delete.action?delId=${p.id}">删除</a>

</td>

</tr>

</c:forEach>

</table>

</body>

</html>