• 什么是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]}
  • 相关阅读:
    kubernetes—Service介绍
    完美转发与底层原理剖析(引用折叠)
    谷歌浏览器安装包无法打开,双击闪退!完美解决
    Vue插值语法、指令语法、单向绑定、双向绑定(详细解释)
    VS2019 如何添加自定义代码片段
    B站8月第3周榜单丨飞瓜数据UP主排行榜(B站平台)发布!
    Codeforces Round #803 (Div. 2) VP补题
    Eclipse的Preferences中没有Maven怎么办?
    接口幂等性
    Qt中QThread安全退出方式总结
  • 原文地址:https://blog.csdn.net/weixin_46048259/article/details/126433061