• 什么是jsp?


    1.jsp是什么?

    • 是HTML吗?不是。
    • jsp本质还是一个Java文件,是servlet。
    • 底层有一个翻译引擎,会把我们写的东西翻译成对应的结果输出。out.write()的方式输出。

    2.如何在jsp中写Java代码

    1.第一种

    <%%>,可以在其中写Java代码

    用<%%>是写在方法中的,写在service方法中
    1. <%
    2. List list = new ArrayList();
    3. list.add(1);
    4. list.add(2);
    5. list.add(3);
    6. list.add("a");
    7. for (Object o:list) {
    8. System.out.println(o);
    9. }
    10. //定义一个私有变量,不能有修饰符,方法中不能有修饰符修饰的变量
    11. // private String name;
    12. // public String namee;
    13. String name1;
    14. %>

    2.第二种

    \<%!%>,可以写java代码
    是写在service方法的外面
    第一种的里面可以用这个定义的共有变量
    1. <%!
    2. private String name;
    3. public int age = 17;
    4. %>

    3.第三种

    想把Java对象展示到浏览器上,<%=%>

    1. <%!
    2. private String name;
    3. public int age = 17;
    4. %>
    5. <%=age%>

    3.jsp的八大内置对象

    4.jsp中的el表达式

    • el出现的目的
    • 方便我们从域中取出对象

    格式1:

            使用el表达式获取域中的值,直接把key放在大括号中

            默认规则:如果没有指定在哪个域中取数据,默认先从最小的域中取,如果没有再去取大一点的域中找
            指定的域中找: el表达式内置域对象

    • pageScope:表示从pageContext中去找
    • requestScope:表示从request中去找
    • sessionScope:表示从session中去找
    • applicationScope:表示从session中去找
    1. <%
    2. //像各个域中存放数据
    3. pageContext.setAttribute("username","pageContext");
    4. request.setAttribute("username","request");
    5. session.setAttribute("username","session");
    6. application.setAttribute("username","application");
    7. %>
    8. ${pageScope.username}
    9. ${requestScope.username}
    10. ${sessionScope.username}
    11. ${applicationScope.username}

    格式2:

    在域中使用el表达式获取Java对象

    使用el表达式获取person对象:底层依据,依赖的是get方法

    1. //获取person对象
    2. <%
    3. Person person = new Person();
    4. person.setName("zs");
    5. person.setAge(17);
    6. person.setAddress("成都市金牛区");
    7. //把Java对象放在域中,请求域
    8. request.setAttribute("person",person);
    9. %>
    10. ${person.name}
    11. ${person.age}
    12. ${person.address}
    13. ${person.sala}


    14. <%--如何从map从取数据--%>
    15. <%
    16. HashMap<String, String> map = new HashMap<>();
    17. map.put("username","admin");
    18. map.put("password","123");
    19. map.put("sex","1");
    20. // 把map放在请求域中
    21. request.setAttribute("map",map);
    22. %>
    23. <%--获取map中的值--%>
    24. ${map.username}
    25. ${map.password}
    26. ${map.sex}


    27. <%
    28. ArrayList<String> list = new ArrayList<>();
    29. list.add("1");
    30. list.add("2");
    31. list.add("3");
    32. request.setAttribute("list",list);
    33. %>
    34. <%--获取集合中的数据--%>
    35. ${list[0]}
    36. ${list[1]}
    37. ${list[2]}
  • 相关阅读:
    南大通用数据库-Gbase-8a-学习-21-Oracle到Gbase8a迁移工具orato8a
    算法解析:LeetCode——机器人碰撞和最低票价
    Confluence 可以用哪些开源知识库替换?盘点主流的11款
    判断两个数a,b,输出较大数的平方值。所谓平方值就是两个相同的数相乘的积。
    【javaEE初阶】多线程 _ 进阶篇 _ 死锁
    Python爬虫——Requests 库基本使用
    工厂要想实现智能制造,MES系统这五大利器不能少
    【图神经网络论文整理】(十)—— How Powerful are Graph Neural Networks?:GIN
    编译VTK静态库
    Elasticsearch RestHighLevelClient API 使用总结
  • 原文地址:https://blog.csdn.net/weixin_46048259/article/details/126433061