首页 > 其他分享 >EL表达式和JSTL标签快速入门

EL表达式和JSTL标签快速入门

时间:2022-11-24 14:01:08浏览次数:63  
标签:EL map 标签 list request JSTL Address new


<%
String data="my data";
request.setAttribute("data",data);
%>
${data } <%--pageContext.findAttribute("data") page request session application --%> <%
Person p=new Person();
p.setName("namenamename");
request.setAttribute("p",p);
%>

${p.name }

<%
Person p1=new Person();
Address a=new Address();
a.setCity("huang gang");
p1.setAddress(a);
request.setAttribute("p1",p1);
%>

${p1.address.city }

<%
List list=new ArrayList();
list.add(new Address("上海"));
list.add(new Address("北京2"));
list.add(new Address("武汉"));
request.setAttribute("list",list);
%>

${list[1].city } <%--北京2 --%>
<c:forEach var="a" items="${list}">
${a.city}
</c:forEach>

<%
Map map=new HashMap();
map.put("aa",new Address("上海"));
map.put("bb",new Address("北京2"));
map.put("cc",new Address("武汉"));
map.put("111",new Address("南京"));
request.setAttribute("map",map);
%>

${map.aa.city } <%--上海 --%>
${map["111"].city } <%--南京 ,通常用点号,点号取不出来用[]--%>

<c:forEach var="b" items="${map }">
${b.key } : ${b.value.city } <br/>
</c:forEach>

//得到当前应用的根目录
${pageContext.request.contextPath }<%--/day09 --%>

//条件判断
<c:if test="${user!=null }">
欢迎
</c:if>
<c:if test="${user==null }">
请登录
</c:if>
​​​http://jstl.java.net/ ​​​

EL表达式用于获取数据,在JSP页面中可使用${标识符}的形式,通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。如果域对象中不存在标识符所对应的对象,则返回结果为””(注意,不是null)。
示例:使用EL表达式获取request、session、applection域中的数据。
EL表达式中也可以使用${customerBean.address}的形式来访问JavaBean对象的属性。
示例:使用EL表达式获取Bean属性。
结合JSTL标签,EL表达式也可轻松获取各种集合中的元素。
示例:使用EL表达式获取List、Map集合中的元素。
EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。
JSTL标签库
JSTL是sun公司开发的一套标签库,使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码。
在页面中使用JSTL标签需完成以下2个步骤:
http://tomcat.apache.org/taglibs/standard/
在Referenced Libraries/standard.jap/META-INF/c.tld有uri定义
C:\Tomcat 7.0\webapps\examples\WEB-INF\lib 有该文件
1、导入jstl.jar和standerd.jar这两个JSTL的jar文件。
2、在JSP页面中使用<%@ tablib uri=”” prifix=”” %>元素导入标签库。
JSTL标签库中常用标签:
<c:foreach var=“” items=“”>
<c:if test=“”>

右键/重构/move可把一个类移动到隐藏的父包中,

标签:EL,map,标签,list,request,JSTL,Address,new
From: https://blog.51cto.com/u_13991401/5883760

相关文章

  • Thymeleaf学习
    Thymeleaf学习三大模板jsphtmlthymeleaftldfreemarker面试题:什么是模板,为什么使用thymeleaf模板?第一,Thymeleaf在有网络和无网络的环境下皆可运行,......
  • element ui 中引入自定义的图标
    1.去iconfont里找到要用的图标并加入到项目中2.在项目页面点击项目设置 按如图修改3.修改后保存 下载到本地4.在main.js中引入下载的 iconfont.css(在i......
  • ElGamal的安全性
    ElGamal的安全性ElGamal密码体制基于离散对数问题。离散对数问题离散对数问题(DLP)已知一个乘法群\((G,\cdot)\),一个\(n\)阶元素\(\alpha\inG\)和元素\(\beta\inG......
  • electron 本地及打包后获取的路径
    electron本地及打包后获取的路径 //打印//本地//打包安装co......
  • selenium自动化基础知识
    等待1.显示等待显示等待是单独针对某个元素,设置一个等待时间如5秒,每个0.5秒检查一次元素是否出现,如果在五秒之前任何时候出现,则继续向下执行,超过五秒尚未出......
  • [原创]shell创建文件或者文件夹快捷方式到桌面的脚本shell
    刚开始学shell编程写的#!/bin/bashvartest='我是变量,变量读取和gradle类似,用${}访问'echo变量长度${#vartest}echo"支持直接不输入引号echo,"#为毛直接显示了。'$e{,ee......
  • v-model修饰符
    v-model.lazy(等到输入框回车或者失去焦点的时候再改变数据)v-model.number(一般data传过来的都是字符串,你想要input的type是number,那就需要加上这个修饰符)v-model.tri......
  • 使用iptable实现: 放行ssh,telnet, ftp, web服务80端口,其他端口服务全部拒绝
    使用iptable实现:放行ssh,telnet,ftp,web服务80端口,其他端口服务全部拒绝端口检查需要放行端口ssh:22telnet:20,21ftp:23web:80,443sambatcp:139,445sambaud......
  • Hello Servlet
    构建一个普通的maven项目删除src目录在项目里面建module关于maven父子工程的理解父工程多一个module子工程多一个parent父项目的jar包子工程可继承mave......
  • Could not find method compile() for arguments [{name=barcodescanner-release-2.1.
     异常: 解决方法:找到路径下的文件node_modules\phonegap-plugin-barcodescanner\src\android的barcodescanner.gradle将依赖中compile方式引入改成implementation......