标签:
与输入有关的隐含对象有两个param和paramValues,用来取得用户的请求参数。在使用EL之前可以使用如下代码取得用户的请求参数:
request.getParameter(String name);
request.getParameterValues(name);
param接收的参数只有一个值,而如果参数有几个值,就必须使用paramValues来接收参数。
结合EL内置对象和EL算术表达式做一个简单的计算器程序。
首先CalculatorForm.jsp,包含了两个文本框用于输入数字,一个下拉框用来选择运算符。(论HTML中下拉框的使用方法)
1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8" import="java.util.*" %> 3 <%@ page import="java.sql.*" %> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 8 <title>简单计算器</title> 9 </head> 10 <body> 11 <center> 12 <h1>简单计算器</h1> 13 <hr> 14 <form action="CalculateoDemo.jsp" method="post"> 15 <input type="text" name="number1"/> 16 <select name="ope"> 17 <option value="add">+</option> 18 <option value="minus">-</option> 19 <option value="multiply">*</option> 20 <option value="divide">/</option> 21 </select> 22 <input type="text" name="number2"/> 23 <input type="submit" name="计算"/> 24 <input type="reset" name="重置"/> 25 </form> 26 </center> 27 </body> 28 </html>
然后新建一个CalculatorDemo.jsp页面来接收参数,其中<c:if>为流程控制标签。代码如下:
1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8" import="java.util.*"%> 3 <%@ page import="java.sql.*" %> 4 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 9 <title>简单计算器</title> 10 </head> 11 <body> 12 <center> 13 <h1>简单计算器</h1> 14 <hr> 15 <c:if test="${param.ope==‘add‘ }"> 16 ${param.number1 }+${param.number2 }=${param.number1+param.number2} 17 </c:if> 18 <c:if test="${param.ope==‘minus‘ }"> 19 ${param.number1 }-${param.number2 }=${param.number1-param.number2} 20 </c:if> 21 <c:if test="${param.ope==‘multiply‘ }"> 22 ${param.number1 }*${param.number2 }=${param.number1*param.number2} 23 </c:if> 24 <c:if test="${param.ope==‘divide‘ }"> 25 ${param.number1 }/${param.number2 }=${param.number1/param.number2} 26 </c:if> 27 </center> 28 </body> 29 </html>
值得注意的是:
${param.number1}等价于request.getParameter("name"),这两种方法都可以用于服务器从页面或客户端获取内容。
${param.name} 请求参数也就是表单里的数据或者url的参数
则对应取为 request.getParam("name")
而 request.getAttribute("name")
对应取的EL表达试 为
${requestScope.name};
标签:
原文地址:http://www.cnblogs.com/xingzhui/p/5745544.html