jsp获取地址栏上的参数和获取controller中通过ModelAndView绑定的属性值

获取地址栏上的参数

参考地址

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

输出结果:

转载于:https://my.oschina.net/helios51luna/blog/2997026

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值