您的位置:首页 > Web前端 > JavaScript

EL表达式 和 JSTL 标签库

2013-11-04 21:54 295 查看
el 表达式和jstl标签快速入门

el表达式:

1.el表达式用于获取数据,在JSP页面中可使用${标识符}的形式,通知JSP引擎调用pageContext.findAttribute()方法,

以标识符为关键字从各个域对象 中获取对象。如果域对象中不存在标识符所对应的对象,则返回结果为“”(注意,不是NULL)。

示例:使用EL表达式获取page、 request、session、applection域中的数据。

2.EL表达式中也可以使用${customerBean.address}的形式来访问javaBean对象的属性。

示例:使用EL表达式获取Bean属性。

3.结合JSTL标签,EL表达式也可轻松获取各种集合的元素。

示例:使用EL表达式获取List、Map集合中的元素。

4.EL表达式也可使用类如$(1==1)的形式进行简单的逻辑判断。

示例代码:

<%---从EL表达式获取属性的值 --%>

<%

String name = "aaaaaaaa";

request.setAttribute("name",name);

%>

${name}

<!--pageContext.findAttribute("name") page request session application-->

<br />

<%---从EL表达式获取对象的属性 --%>

<%

Person p = new Person();

p.setName("zengxiansheng");

request.setAttribute("p",p);

%>

${p.name}

<br />

<%--复杂javaBean 中获取数据 --%>

<%

Person p1 = new Person();

Address a = new Address();

a.setCity("上海");

p1.setAddress(a);

request.setAttribute("p1",p1);

%>

${p1.address.city }

<br />

<%

List list = new ArrayList();

list.add(new Person("aa"));

list.add(new Person("bb"));

list.add(new Person("cc"));

request.setAttribute("list",list);

%>

${list[1].name }

<br />

<%

Map map = new HashMap();

map.put("aa",new Person("aaaaaaa"));

map.put("bb",new Person("bbbbbbb"));

map.put("cc",new Person("ccccccc"));

map.put("111",new Person("edddddd"));

request.setAttribute("map",map);

%>

${map.aa.name }

${map['111'].name } <!-- 数字访问不用.用中括号括起来,要加单引或双引 -->

<br />

${pageContext.request.contextPath } <!--
获取当前 web 应用的名称 :day1 -->

jstl标签库:

1.JSTL 是 sun 公司开发的一套标签库,使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码。

2.在页面中使用JSTL标签需要完成以下2个步骤。

1.导入jstl.jar和standerd.jar这两个jslt的jar 文件。

2.在JSP页面中使用<%@taglib uri="" prefix="" %>元素导入标签库。

3.JSTL标签库中常用标签:

<c:foreach var ="单个对象名" items ="集合或数组名"></foreach>

<c:if test="条件">

示例代码:

<!--遍历 list 集合获取数据-->

<%

List list = new ArrayList();

list.add(new Person("aa"));

list.add(new Person("bb"));

list.add(new Person("cc"));

request.setAttribute("list",list);

%>

//遍历 list 集合

<c:forEach var="Person" items="${list}">

${Person.name} <br/>

</c:forEach>

<!--遍历 Map 集合获取数据-->

<%

Map map = new HashMap();

map.put("aa",new Person("aaaaaaa"));

map.put("bb",new Person("bbbbbbb"));

map.put("cc",new Person("ccccccc"));

map.put("111",new Person("edddddd"));

request.setAttribute("map",map);

%>

<c:forEach var="entry" items="${map}">

${entry.key } : ${entry.value.name}<br/>

</c:forEach>

<!--判断用户是否登录 ,不为空就是登录 -->

<c:if test="${user!=null}">

欢迎:${user.userName }登录!

</c:if>

<!--为空就是没登录登录 -->

<c:if test="${user==null}">

用户名:<input type="text"/>

密码:<input type="text"/>

</c:if>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: