操作request范围的属性---取钱模拟

index.jsp

<%@ page contentType="text/html;charset=GBK" language="java" errorPage=""%>
<!DOCTYPE html>
<html>
<head>
	<title>操作request范围的属性---取钱模拟</title>
</head>
<body>
	<form id="form1" method="post" action="first.jsp">
		取钱:<input type="text" name="balance" />
		<input type="submit" value="提交" />
		<input type="reset" value="重置" />
	</form>
</body>
</html>

first.jsp

<%@ page contentType="text/html;charset=GBK" language="java" errorPage="" %>
<%@ page import="java.util.*" %>
<html>
<head>
	<title>request 处理</title>
</head>
<body>
	<%
		String bal = request.getParameter("balance");//获取请求的钱数
		//将钱数的字符串转换成双精度浮点数
		double qian = Double.parseDouble(bal);
		if(qian < 50)
		{
			out.println("给你" + qian + "块");
			out.println("账户减少" + qian);
		}
		else
		{
			List<String> info = new ArrayList<String>();
			info.add("11111");
			info.add("22222");
			info.add("33333");
			//将info对象放入request范围内
			request.setAttribute("info",info);
	%>
	<!-- 实现转发 其实就是调用的一个方法  _jspx_page_context.forward("second.jsp"); 把当前request对象传递给另外一个页面,并未重新发送一个请求给服务器 -->
	<jsp:forward page="second.jsp" />
	<!--
	request还有一个功能就是执行forward和include,也就是代替jsp所提供的forward和include动作指令。
	HttpServletRequest类提供了一个getRequestDispatcher(String path)方法,其中path就是希望forward或者include的目标路径,该方法放回一个RequestDispatcher,该对象有forward和include两个方法。path参数必须是以斜杠线开头
	getRequestDispatcher("/a.jsp").include(request,response);//将a.jsp页面include到本页面中
	getRequestDispatcher("/a.jsp").forward(request,response);//将请求转发到a.jsp页面中。
	-->
	<%}%>
</body>
</html>

second.jsp

<%@ page contentType="text/html;charset=GBK" language="java" errorPage="" %>
<%@ page import="java.util.*" %>
<html>
<head>
	<title>处理请求过来的参数</title>
</head>
<body>
	<%
		String bal = request.getParameter("balance");
		double qian = Double.parseDouble(bal);
		//取出requset范围内的info属性的对象
		List<String> info = (List<String>)request.getAttribute("info");
		for(String tmp : info)
		{
			out.write(tmp + "<br/>");
		}
		out.println("取钱" + qian + "块");
		out.println("账户减少" + qian);
	%>
</body>
</html>


你可能感兴趣的:(操作request范围的属性---取钱模拟)