JavaWeb---EL表达式(一)

什么是EL表达式?有什么作用?

全称Expression Language 是表达式语言,EL表达式语言是一种简单的语言,提供了JSP中简化表达式的方法,目的是为了尽量减少JSP页面中的Java代码,使得JSP页面的处理程序编写起来更加简洁,便于开发和维护。

开发原则:JSP页面中不能出现一行Java脚本<%%>和Java表达式<%=%>

若EL表达式取得的值为空,则什么都不会输出,脚本会输出null

el表达式只能从域对象中获取值

jsp中的四大域对象(从小到大进行搜索)

page域对象(当前页面)

request域对象(一次请求,服务端跳转)

sesstion域对象(一次会话,服务端和客户端跳转)

application域对象(整个应用)

语法、

1.${域对象.键名}:从指定的域中获取指定键的值

  • 域名称:
    1. pageScope -->pageContext
    2. requestScope -->request
    3. sessionScope -->session
    4. applicationScope-->application(ServletContext)

域中存取数据

       <% req.setAttribute("username","zhaoyun");
        req.getSession().setAttribute("username","zilong");
        req.getSession().setAttribute("gender","男");%>



       ${requestScope.username}
       ${sessionScope.username}
       ${gender}

 存取对象与集合数据:

 
<%
        //map集合
        HashMap<String, String> map = new HashMap<>();
        map.put("name","yuzi");
        map.put("gender","nv");
        map.put("util","idea");
        req.setAttribute("map",map);
        //访问对象属性
        User user = new User();
        user.setUsername("zhangsan");
        user.setPassword("123");
        req.setAttribute("user",user);

        User user1 = new User();
        user1.setUsername("lisi");
        user1.setPassword("1234");

        ArrayList<User> userArrayList= new ArrayList<>();
        Collections.addAll(userArrayList,user,user1);
        req.setAttribute("users",userArrayList);
        req.getRequestDispatcher("el.jsp").forward(req,resp);
%>

 ${map.name}
    ${map.gender}
    ${map.util}

    ${user.username}
    ${user.password}

    ${users[0].username}
    ${users[1].username}
paramValues 获取请求参数:
<a href="${pageContext.request.contextPath}/el.jsp?count=3">el.jsp</a>
<form action="${pageContext.request.contextPath}/el.jsp" method="post">
    <input type="checkbox" name="enjoy"  value="打架" checked="checked">打架
    <input type="checkbox" name="enjoy"  value="打人">打人
    <input type="checkbox" name="enjoy"  value="打球">打球
    <input type="submit" value="提交">
</form>

 el.jsp

 ${paramValues.enjoy[0]}
    ${paramValues.enjoy[1]}
    ${paramValues.enjoy[2]}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值