JSP EL表达式 与输入有关的内置对象
与输入有关的隐含对象有两个param和paramValues,用来取得用户的请求参数。在使用EL之前可以使用如下代码取得用户的请求参数:
request.getParameter(String name);
request.getParameterValues(name);
param接收的参数只有一个值,而如果参数有几个值,就必须使用paramValues来接收参数。
结合EL内置对象和EL算术表达式做一个简单的计算器程序。
首先CalculatorForm.jsp,包含了两个文本框用于输入数字,一个下拉框用来选择运算符。(论HTML中下拉框的使用方法)
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8" import="java.util.*" %>
- <%@ page import="java.sql.*" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>简单计算器</title>
- </head>
- <body>
- <center>
- <h1>简单计算器</h1>
- <hr>
- <form action="CalculateoDemo.jsp" method="post">
- <input type="text" name="number1"/>
- <select name="ope">
- <option value="add">+</option>
- <option value="minus">-</option>
- <option value="multiply">*</option>
- <option value="divide">/</option>
- </select>
- <input type="text" name="number2"/>
- <input type="submit" name="计算"/>
- <input type="reset" name="重置"/>
- </form>
- </center>
- </body>
- </html>
然后新建一个CalculatorDemo.jsp页面来接收参数,其中<c:if>为流程控制标签。代码如下:
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8" import="java.util.*"%>
- <%@ page import="java.sql.*" %>
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>简单计算器</title>
- </head>
- <body>
- <center>
- <h1>简单计算器</h1>
- <hr>
- <c:if test="${param.ope=='add' }">
- ${param.number1 }+${param.number2 }=${param.number1+param.number2}
- </c:if>
- <c:if test="${param.ope=='minus' }">
- ${param.number1 }-${param.number2 }=${param.number1-param.number2}
- </c:if>
- <c:if test="${param.ope=='multiply' }">
- ${param.number1 }*${param.number2 }=${param.number1*param.number2}
- </c:if>
- <c:if test="${param.ope=='divide' }">
- ${param.number1 }/${param.number2 }=${param.number1/param.number2}
- </c:if>
- </center>
- </body>
- </html>
值得注意的是:
${param.number1}等价于request.getParameter("name"),这两种方法都可以用于服务器从页面或客户端获取内容。
${param.name} 请求参数也就是表单里的数据或者url的参数
则对应取为 request.getParam("name")
而 request.getAttribute("name")
对应取的EL表达试 为
${requestScope.name};
JSP EL表达式 与输入有关的内置对象的更多相关文章
- JSP学习 三大指令、九个内置对象、JavaBean、EL表达式
1.page-->最复杂:<%@page language="java" info="xxx"...%> * pageEncoding和con ...
- JSP三个指令及9个内置对象
注:本文编写方便自己以后用到时查阅 三大指令:include. page.taglib include指令: 作用: 在当前页面用于包含其他页面 语法: <%@include file=&qu ...
- JavaWeb学习笔记--2.jsp指令元素、动作元素、内置对象
目录: 一.指令 1.1 page指令 :page指令有13种属性 1.2 include指令:include指令有1种属性,为file.(注意<%@ include%>和<jsp: ...
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- JSP 脚本中的 9 个内置对象
JSP 脚本中包含了 9 个内置对象,这 9 个内置对象都是 Servlet API 接口的实例,只是 JSP 规范对它们进行了默认初始化. 这 9 个内置对象如下: 1.application:ja ...
- 详解JSP九个内置对象
[JSP]☆★之详解九个内置对象 在web开发中,为方便开发者,JSP定义了一些由JSP容器实现和管理的内置对象,这些对象可以直接被开发者使用,而不需要再对其进行实例化!本文详解,JSP2 ...
- JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用
Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由 ...
- Jsp内置对象及EL表达式的使用
一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...
随机推荐
- 单调队列 hdu2823
Sliding Window Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 48608 Accepted: 14047 ...
- PHP 可变长度参数列表
In PHP 5.6 and later, argument lists may include the ... token to denote that the function accepts a ...
- linux 双网卡实现
linux实现双网卡,在虚拟机中创建一个新网卡,NAT方式连接,其中eth0设置为连接外网,目前eth0为自动分配状态,所以将代码注释掉了,eth1设置为连接内网.
- JAVA封装、继承
封装 1.概念: 将类的某些信息隐藏在类的内部,不允许外部程序访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: a.只能通过规定的方法访问数据 b.隐藏类的实例细节,方便修改和实 ...
- 简单说一下printf("%*s%s",xx,xx,xx);或printf("%*s\n",xx,xx);
大家还记得这个例子吗 #include "public.h" int main() { ; printf("%4d\n",a); ; } 这个输出结果为: ...
- HDU4511 AC自动机+dijkstra
题意: Description 终于放寒假了,小明要和女朋友一起去看电影.这天,女朋友想给小明一个考验,在小明正准备出发的时候,女朋友告诉他,她在电影院等他,小明过来的路线必须满足给定的规则: 1. ...
- pycharm 常用设置,打开文件数量
1.主题(皮肤)和字体的设置(暂时略过) File ->Settings -> 搜索Font 2.文档行号的设置 1,临时设置.右键单击行号处,选择 Show Line Numbers. ...
- mac 安装redis
一.下载 官网http://redis.io/ (搞不懂为啥被墙) 二.安装 将下载的tar.gz文件复制到 /usr/local 文件夹下 解压 sudo tar -zxvf redis3.1.6. ...
- Delphi 文件类型
该内容整理自以下链接 http://www.cnblogs.com/chenyunpeng/archive/2012/08/02/2620513.html 1.DPR: Delphi Project文 ...
- mac下使用brew安装ffmpeg支持x265
使用brew install ffmpeg 安装ffmpeg默认是没有支持x265的, 使用brew info ffmpeg 获取安装选项帮助, 使用brew reinstall ffmpeg --w ...