Java Web学习笔记之---EL和JSTL
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)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- delphi编写提取exe文件的ICO图标
http://www.duote.com/tech/4/11797.html delphi编写提取exe文件的ICO图标 7.0分 出处:天下网吧 时间:2011-08-05 人气:2390 核心提示 ...
- failed to create process ,pip报错问题
- JVM可视化监控工具jconsole以及jvisualvm的配置
使用jdk自带的jconsole.jvisualvm插件,监控远程linux服务器中tomcat的jvm情况 (jconsole.jvisualvm插件可查看堆内存变化情况,线程状态,CPU使用情况, ...
- Lucene 4.6.1 java.lang.IllegalStateException: TokenStream contract violation
这是旧代码在新版本Lucene中出现的异常,异常如下: Exception in thread "main" java.lang.IllegalStateException: To ...
- WOJ#3882 旅行问题(POI2004)
描述 John打算驾驶一辆汽车周游一个环形公路.公路上总共有n车站,每站都有若干升汽油(有的站可能油量为零),每升油可以让汽车行驶一千米.John必须从某个车站出发,一直按顺时针(或逆时针)方向走遍所 ...
- Version Controlling with Git in Visual Studio Code and Azure DevOps
Overview Azure DevOps supports two types of version control, Git and Team Foundation Version Control ...
- OGG replicat复制进程的拆分
参考资料: 1.https://blog.csdn.net/datingting1/article/details/79583690
- centos 搭建svn服务器
1 安装svnserve yum install subversion -y 2 创建仓库 mkdir /svn/rep1 -p mkdir /svn/rep2 -p svnadmin create ...
- 创建entityManager
1 需要persistence.xml 完全通过属性配置没成功 <persistence xmlns="http://java.sun.com/xml/ns/persistence&q ...
- springboot集成hibernate
package com.jxd.Boot.hibernate.dao.impl; import java.util.List; import javax.persistence.EntityManag ...