Java Web学习笔记之---EL和JSTL
(一)EL
(1)EL作用
Expression Language(表达式语言),目的是代替JSP页面中复杂的代码
(2)EL表达式
${变量名}
(3)EL实现
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="ELServlet" method="post"> 用户名:<input type="text" name="user"> 密码:<input type="text" name="password"> <input type="submit"> </form> </body> </html>
ELServlet.java
package servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/ELServlet") public class ELServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取输入值 String user=req.getParameter("user"); String password=req.getParameter("password"); //存入request req.setAttribute("user",user); req.setAttribute("password",password); //转发至1.jsp req.getRequestDispatcher("1.jsp").forward(req,resp); } }
1.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@page isELIgnored="false" %> <html> <head> <title>Title</title> </head> <body> 用户名:${user} 密码:${password} </body> </html>
(二)JSTL
(1)JSTL介绍
JSP标准标签库
(2)与EL表达式的关系
JSTL通常与EL表达式一起实现JSP页面编码
(3)JSTL使用准备
在JSP页面添加
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
在pom.xml中配置
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
(4)JSTL常用标签
1.通用标签:set,out,remove
2.条件标签:if,choose
3.迭代标签:forEach
(5)常用标签的使用
JstlServlet.java
package servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @WebServlet("/JstlServlet") public class JstlServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //创建Map集合,并存入数据 Map<String,Object> m1=new HashMap<String,Object>(); m1.put("user","AA"); m1.put("password","123"); m1.put("age","11"); Map<String,Object> m2=new HashMap<String,Object>(); m2.put("user","BB"); m2.put("password","123"); m2.put("age","12"); //将Map集合存入List集合 List<Map<String,Object>> list=new ArrayList<Map<String,Object>>(); list.add(m1); list.add(m2); //将List集合存入request中 req.setAttribute("list",list); //转发 req.getRequestDispatcher("2.jsp").forward(req,resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }
2.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@page isELIgnored="false" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <html> <head> <title>Title</title> </head> <body> <!-- 1.set标签:将值保存到指定范围内 2.将value值存到范围为scope的变量var中 --> <c:set var="user" value="AA" scope="request"></c:set> <c:set var="age" value="12" scope="request"></c:set> <!-- out标签:将结果输出显示 --> <c:out value="${user}"></c:out> <!-- remove标签:删除指定域内数据 --> <c:remove var="user"></c:remove> <!-- if标签: test:放判断条件,如果条件为true,则输出标签体中的内容--> <c:if test="${age==12}"> 12岁 </c:if> <!-- choose标签不能单独存在,内含when标签和otherwise标签,类似于if...else--> <c:choose> <c:when test="${age==12}"> 是12岁 </c:when> <c:otherwise> 不是12岁 </c:otherwise> </c:choose> <table> <!-- forEach标签:类似于for(数据类型 变量名:集合或数组) items中放集合或数组 var中放变量名 用变量名调用 --> <c:forEach items="${list}" var="Map"> <tr> <td>${Map.user}</td> <td>${Map.password}</td> <td>${Map.age}</td> </tr> </c:forEach> </table> </body> </html>
Java Web学习笔记之---EL和JSTL的更多相关文章
-
[原创]java WEB学习笔记95:Hibernate 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
-
[原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
-
[原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
-
java web 学习笔记 编码问题总结
java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...
-
Java Web 学习笔记 1
Java Web 学习笔记 1 一.Web开发基础 1-1 Java Web 应用开发概述 1.1.1 C/S C/S(Client/Server)服务器通常采用高性能的PC机或工作站,并采用大型数据 ...
-
[原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
-
Java Web学习笔记之---JSP
Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...
-
JAVA Web学习笔记
JAVA Web学习笔记 1.JSP (java服务器页面) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . JSP全名为Java Server Pages,中文名叫java服务器 ...
-
[原创]java WEB学习笔记43:jstl 介绍,core库详解:表达式操作,流程控制,迭代操作,url操作
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
-
word-wrap ,word-break 和white-space 的联系
在工作中我遇到一个问题,其实功能也不复杂,就是上面有个textarea标签 ,里面输入内容,下面有个显示效果 ,有个条件就是 上面输入的什么格式(比如换行等等),下面显示的也是 什么格式.如下图: 这 ...
-
bootstrap 布局(收藏/摘抄)
bootstrap 12栅格 布局
-
GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.最大的优点是在不损伤数据的前提下调整存储空间的大小. 本篇主要讲述L ...
-
eclipse根据.wsdl文件自动生成webservice的调用客户端
1.工具:eclipse3.3或者是带有webservice插件的eclipse 2. 首先用浏览器访问webservice的站点,接着保存打开的页面,后缀为.wsdl. 3.把保存好的文件拷入ecl ...
-
hive数据导入方法
可以通过多种方式将数据导入hive表 1.通过外部表导入 用户在hive上建external表,建表的同时指定hdfs路径,在数据拷贝到指定hdfs路径的同时,也同时完成数据插入external表. ...
- [Sparrow OS 设计文档连载(一)] Introduction
-
python类的继承
继承一个类 如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承: class Person(object): def __init__(self ...
-
Java设计模式——装饰模式
转载自:http://blog.csdn.net/xu__cg/article/details/53024490 抽象构件 public interface CarInterface { void m ...
-
Nginx和php是怎么通信的?
先来看一下搭建好PHP运行环境的Nginx配置文件. 非常重要的就是 fastcgi_pass 指令了,这个指令用于指定 fpm 进程监听的地址,Nginx 会把所有的 php 请求翻译成 fastc ...
-
hive时间日期函数及典型场景应用
1.hive取得当前日期时间: 1.1) 取得当前日期: select current_date(); 1.2) 取得当前日期时间: select current_timestamp(); 1.3) ...