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

15 篇文章 0 订阅
4 篇文章 0 订阅

1)EL表达式用于获取数据,在Jsp页面中可使用${标识符}的形式,通知jsp引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域中获取对象,如果域对象不存在标识符所对应的对象,则返回结果为”“(注意:不是null
2)EL表达式中也可以使用${customerBean.address}的形式开访问JavaBean对象的属性
3)EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。
4)案例:
案例一:

<%
        String data = "abce";
        request.setAttribute("data",data);//假设这是从servlet转发来的数据
    %>
    ${data }<%-- pageContext.findAttribute("data") //page request session application--%>
案例二:
<%
        Person p = new Person();
        p.setName("aaa");
        request.setAttribute("person",p);
    %>
    ${person.name }<%-- pageContext.findAttribute("person") --%>   
案例三:
    <%
        Person p = new Person();
        Address a = new Address();
        a.setCity("shanghai");
        p.setAddress(a);
        request.setAttribute("person",p);
    %>
    ${person.address.city }
案例四:
    <%
        List list = new ArrayList();
        list.add(new Person("aaa"));
        list.add(new Person("bbb"));
        request.setAttribute("list",list);
    %>
    ${list[1].name }//迭代全部元素需要配合Jstl一起用
    或者${list['1'].name }//取不到数据元素时,有时候加个单引号会达到效果
案例五:
<%
        Map map = new HashMap();
        map.put("aa", new Person("aa"));
        map.put("bb", new Person("bb"));
        map.put("cc", new Person("cc"));
        request.setAttribute("map",map);
    %>
    ${map.bb.name }//若key全是数字,如“111”,${map['111'].name } 
    //在el表达式中取数据时,通常用.号,.号取不出来时,使用[]

5)${pageContext.request.contextPath }//得到当前web应用名称
6)JSTL标签库
__1JSTL是sun公司开发的一套标签库,使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码。
__2在页面中使用jstl标签需要完成以下2个步骤:
导入jstl.jar和standed.jar这两个JSTLjar文件。
在jsp页面中使用<%@taglib uri=”” prifix=”“%>元素导入标签库
__3JSTL标签库中常用标签:

    <c:forEach var="" items="">
    <c:if test="">

7)使用jstl步骤:
__1stand.jar–> META-INF –>c.tld ->找到uri的值 –><%@taglib url=”uri” prifix=”c”%>
__2案例:
案例一:

    <%
        List list = new ArrayList();
        list.add(new Person("aaa"));
        list.add(new Person("bbb"));
        request.setAttribute("list",list);
    %>
    <c:forEach var="person" items="${list}">
        ${person.name }<br/>
    </c:forEach>
案例二:
<%
        Map map = new HashMap();
        map.put("aa", new Person("aa"));
        map.put("bb", new Person("bb"));
        map.put("cc", new Person("cc"));
        request.setAttribute("map",map);
    %>
    <c:forEach var="entry" items="${map}">//map.entrySet() Set<Map.entry>
        ${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="password"/>
    </c:if>
案例四:
${param.参数名 }可以获取请求地址中参数的值
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值