EL表达式与jsp原生代码区别例子

<%@ page import="entity.Student" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%--   EL 作用从与对象中取出数据 --%>
    <%
        // HttpServletRequest request = new HttpServletRequest
        // ServletContext application = new ServletContext()
        // pageContext, request, session, application
        // 1、普通字符串
        pageContext.setAttribute("name","lisi_pageContext");
        request.setAttribute("name","lisi_request");
        // 2、Student 对象
        Student student = new Student(1, "王五", 23, "男");
        session.setAttribute("studentSession",student);
        // 3、 list集合
        Student student1 = new Student(1, "王五1", 23, "男");
        Student student2 = new Student(2, "王五2", 23, "男");
        Student student3 = new Student(3, "王五3", 23, "男");
        List<Student> list = new ArrayList<>();
        list.add(student1);
        list.add(student2);
        list.add(student3);
        application.setAttribute("studentApplication",list);
    %>
    <%--1.普通字符串--%>
    <%=pageContext.getAttribute("name")%><br/>
    <%=request.getAttribute("name")%><br/>
    <%--EL 表达式--%>
    ${pageScope.name}<br/>
    ${requestScope.name}<br/>
    ${name}<br/> <%--拿出来的是pageScope里面的,从最小的域内开始取数据--%>
    <%--2、获取对象--%>
    <%--使用JSP表达式--%>
    <%=session.getAttribute("studentSession")%>
    <%--下面那样获取名字会报错,报错原因是session.getAttribute()获取的是Object对象,不能直接调用Student类的方法--%>
    <%--session.getAttribute("studentSession").getName()--%>
    <%
        Student stu = (Student) session.getAttribute("studentSession"); // 先获取进行强制类型转换
        stu.getName(); // 再去调用他的方法
    %>
    <%=stu.getId()%>--<%=stu.getName()%>--<%=stu.getGender()%><br/>

    <%--EL表达式--%>
    ${studentSession}<br/>
    ${studentSession.id}<br/> <%--会自动调用我们的getId()方法--%>
    ${studentSession.name}<br/>
    ${studentSession.gender}<br/>

    <%--List<Student>--%>
    <%--使用JSP表达式--%>
    <%
        List<Student> stulist = (List<Student>) application.getAttribute("studentApplication");
    %>
    <%=stulist.get(0).getName()%><br/> <%--获取第一个学生的名字--%>
    <%--EL表达式--%>
    ${studentApplication}<br/>
    ${studentApplication[0].name}

</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值