EL与JSTL注意事项汇总

EL与JSTL注意事项汇总

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

EL使用表达式(5一个 问题)
JSTL使用标签(5问题)
什么是EL。它可以用做?
EL全名Expression Language在JSP使用页面
格公式${表达式}
样例${requestScope.customer.id}
功能:
1.才四个域对象中取出属性数据显示

(pageContext.request.session.application)

2.取出请求參数数据显示

<%
request.setAttribute(“person”,new Person(“xfzhanag”,18));
%>
Map<String,Person> map=new HashMap<String,Person>();
map.put(“A”,new Person(“AA”,12));
map.put(“”B”,new Person(“BB”,13));
map.B.age${requestScope.B.age};
map.B.age${requestScope.[‘B’].age};

${requestScope.person.name};
${requestScope.person[‘name’]};
List里面的第二个数据
<%

<%
List list=new ArrayList();
list.add(“a”);
list.add(“b”);
list.add(“c”);
request.setAttribute(“List”,list);

%>

${requestScope.List[1]};
${requestScope.List[‘name’]};

我的年龄:<requestScope.person.name><br/>
//什么方便?为什么有个中括号?
/*
一种情况?
${requestScope[‘my person’].name};
map.put(“my person”,new Person(“Xxx”,12));

*/
EL能进行的运算?
算数运算(+,-, * ,/ ,%)
关系运算(>,<,==,!=)
逻辑运算(&&,||)
empty运算(推断一个数据是否是空)
(null,空字符串,空集合)

${empty name}<br>
${empty list}<br>
${empty person}<br>

三目条件运算
${requestScope.person.age>18 ? ‘成年’ : ‘未成年’ }
${person.age>18 ? ‘成年’ : ‘未成年’ }
<!–不加隐含对象。如何找到的呢?
pageScope,requestScope,
sessionScope,applicationScope
从小到大的一个范围!
–>
<%
request.setAttribute(“list”,new ArrayList());
request.setAttribute(“name”,””);
request.setAttribute(“person”,”new Pseron(“Xxx”,19));
%>
隐含对象
PageContext javax.servlet.ServletContext
PageScope java.uti.Map
RequestScope java.util.Map
sessionScope java.util.Map
applicationScope java.util.Map
param java.util.Map
EL怎样获取对象的内部数据?
获取的方式
通过点(.)来取数据
通过中括号[]来取数据
对象的类型
一般对象
Map对象
数组/List/Set
EL的不足在哪?
不能遍历。逻辑推断差
JSTL(5个问题)
什么是JSTL,它能做什么?
JSTL为jsp stardard tag library在jsp页面使用
功能:实现数据基本输入输出,流程控制,循环,国际化等功能
JSTL  前置名称               URI 范例
核心标签库     c http://sun.com/jsp/jstl/core c:out
I18格式标签库 fmt http://sun.com/jsp/jstl/xml

fmt:formDate
SQL标签库     sql http://sun.com/jsp/jstl/sql sql:query
xml标签库     xml http://sun.com/jsp/jstl/fmt x:forBach
函数标签库     fn http://sun.com/jsp/jstl/function fn:split
为什么使用JSTL?
在jsp中使用jsp脚本+jsp表达式也能够做循环输出,太麻烦
EL不能做遍历工作
JSTL能做这些并且与jsp和html的标签能够非常好的结合
JSTL高速入门
1.导入JSTL相关的jar包:
jstl.jar
standard.jar

2.在jsp文件里导入JSTL的c标签库
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” perfix=”c” 

%>

3
<%
List<String> list=new ArrayList<String>();
list.add(“A”);
list.add(“B”);
list.add(“C”);
request.setAttribute(“list”,list);

%>
<c:forEach items=”${requestScope.list}” var=”item”>
${item}<br/>
</c:forEach>

jstl怎样做流程控制?
c:if(一重条件推断)
c:choose 
c:when

//需求1:假设我的年龄小于18就输出未成年成(红色字体)
<c:if test=”${person.age<18}”>
<font color=”red”>未成年人</font>
</c:if>

需求2:假设年龄大于60,就输出’老头子‘
假设年龄小于18,就输出”小屁孩”
其它。就输出”成年人”
<br/>
<c:choose>
<c:when test=”${person.age>60}”>老头子

</c:when>
<c:when test=”${person.age<18}”>小屁孩

</c:when>
<c:otherwise>成年人</c:otherwise>
</c:choose>
jstl怎样做遍历?
<%
Map<String,Person> map=new 

HashMap<String,Person>();
map.put(“1”,new Person(“AA”,23));
map.put(“2”,new Person(“BB”,23));
map.put(“3”,new Person(“CC”,23));
map.put(“4”,new Person(“DD”,23));
map.put(“5”,new Person(“EE”,23));
map.put(“6”,new Person(“FF”,23));
request.setAttribute(“personMap”,map);
%>
<h3>将数据用表格显示出来</h3>
<table border=”1″ style=”width:300px”>
<tr>
<td>ID</td>
<td>姓名</td>
<td>年龄</td>
</tr>
<c:forEach items=”${personMap}” var=”item”>
<!–${itm.class}–>
<tr>
<td>${item.key}</td>
<td>${item.value.name}</td>
<td>${item.value.age}</td>
</tr>
</table>

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117575.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件著作权需要源代码吗_版权生成软件官网

    软件著作权需要源代码吗_版权生成软件官网工作过程写了一个上位机软件,想申请一个软件著作权,其中有一项是提供项目源代码;一个一个文件打开去复制有点太愚蠢了,就想找找有没有什么自动化处理的工具;还真的找到一个,下面分享给大家我是怎么用的;1.解压压缩包,打开工程:2.我用的是VS2017打开毫无障碍:3.最好先清理解决方案,然后再编译运行:4.最后就能见到自动化处理工具了:5.需要的话评论里留言,我再分享给大家;…

    2022年9月22日
    0
  • jqGrid基本用法与示例「建议收藏」

    jqGrid基本用法与示例「建议收藏」转自:https://chuanlu.iteye.com/blog/1953544一、jqGrid的基本用法1、html页面Html代码<!DOCTYPE html 

    2022年7月3日
    53
  • Homebrew新一代OS X套件管理工具 高速安装Git[通俗易懂]

    Homebrew新一代OS X套件管理工具 高速安装Git

    2022年1月31日
    40
  • ps图层面板详解_ps图层样式怎么使用

    ps图层面板详解_ps图层样式怎么使用原文:http://coolketang.com/staticPhotoshop/5a98d4acfe88c20038c5716f.html1.本节课程将为您演示,[样式面板]的使用。首先选择工具箱中的[横排文字工具],创建一个文字图层。 2.然后在图像的适当位置上点击,确定文字的起始位置。 3.接着输入一行文字。 4.点击选项栏右侧的[提交当前所有编辑]按钮,完成文字的输入。 5.在字…

    2022年9月5日
    8
  • Tomcat配置SSL证书(PFX证书)

    Tomcat配置SSL证书(PFX证书)Symantec提供免费版SSL,可快速免费申请一、什么是SSL(证书)?    SSL证书服务(AlibabaCloudSSLCertificatesService)由阿里云联合多家国内外数字证书管理和颁发的权威机构、在阿里云平台上直接提供的服务器数字证书。您可以在阿里云平台上直接购买、或者免费获取所需类型的数字证书,并一键部署在阿里云…

    2022年5月2日
    47
  • 两位数乘法的速算方法(一)「建议收藏」

    两位数乘法的速算方法(一)「建议收藏」两位数乘法的速算方法一、范围讲的是两位自然数的相乘,即如何计算ABXCD的相乘结果,例如86X32。 二、ABXCD相乘的专业说法AB叫被乘数CD叫乘数三、原理设两位数分别是10A+B,10C+D,其乘积为S,根据多项式展开:S=(10A+B)X(10C+D)=10Ax10C+BX10C+10AXD+BXD。所谓速算,就是根据其中一些相等或者互补的关系,简化

    2022年6月7日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号