获取地址栏上的参数
1、使用jsp小脚本实现
<%String value=request.getParameter("key");%>`
即可取出地址栏传递的key所代表的值
2、使用EL表达式实现
<h2>${param.key}</h2>`
也可以取出地址栏传递的key所代表的值
3、使用javascript实现
<script type="text/javascript">
function GetQueryString(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]);
return null;
}
var myurl=GetQueryString("key");
</script>
`
也可以取出地址栏传递的key所代表的值
4、jQuery扩展方法实现
jquery扩展了一个getUrlParam()方法
<script type="text/javascript" src="js/jquery.1.8.3.min.js"></script>
<script type="text/javascript">
$(function($){
$.getUrlParam = function(name) {
var reg = new RegExp("(^|&)"+name +"=([^&]*)(&|$)");
var r= window.location.search.substr(1).match(reg);
if (r!=null)
return unescape(r[2]);
return null;
}
});
$.getUrlParam('key');也可以取出地址栏传递的key所代表的值
</script>
`
获取controller中通过ModelAndView绑定的属性值
springMVC中通过ModelAndView进行后台与页面的数据交互,那么如何在页面中获取ModelAndView绑定的值呢?
1、在JSP中通过EL表达式进行获取(比较常用)
后台:ModelAndView model = new ModelAndView();
model.addObject(“name”,“Jims”);
JSP:在JSP中直接使用${name }进行获取
姓名:${name }
2、通过JSP内置对象进行获取
后台:ModelAndView model = new ModelAndView();
model.addObject(“name”,“Jims”);
前台:<% String name = request.getAttribute(“name”); %>
以上两种方式是在JSP中获取ModelAndView绑定的值,那么如何在页面的JS中获取ModelAndView绑定的值呢?
1、最麻烦的一种:
后台:ModelAndView model = new ModelAndView();
model.addObject(“name”,“Jims”);
JSP:
JS:var name = $("#method1").val();
2、和第一种类似:
后台:ModelAndView model = new ModelAndView();
model.addObject(“name”,“Jims”);
JSP:<% String name=request.getAttribute(“name”); %>
JS:var name=’<%=name %>’;
3、第三种比较简单也较为常用一些
后台:ModelAndView model = new ModelAndView();
model.addObject(“name”,“Jims”);
JS:var name = ‘${name}’;这样子便可以 直接获取到在ModelAndView中绑定的name属性
附:
代码示例:
controller:
[@Controller](https://my.oschina.net/u/1774615)
@RequestMapping("/login")
public class LoginController {
@RequestMapping("/index")
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mav = new ModelAndView("index");
request.setAttribute("nihao", "lijun");
return mav;
}
}
jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
这是controller中通过ModelAndView绑定的属性值:<br>
1 ${nihao }<br>
2 <%=request.getAttribute("nihao") %><br>
这是URL地址栏中的参数,该参数并没有在controller中通过ModelAndView绑定属性值:<br>
3 ${param.hello }<br>
4 <%=request.getParameter("hello") %><br>
</body>
</html>
访问地址:
http://localhost:8080/login/index?hello=world
输出结果: