JSP的学习1

本文介绍了JSP的工作原理,它如何将HTML、JS、CSS和Java结合,以及三种常见的嵌入Java代码的方式:脚本、声明和表达式。还展示了如何使用for循环和实体类优化数据展示。
摘要由CSDN通过智能技术生成

JSP本质上就是servlet,JSP就是HTML+JS+CSS+JAVA的文件

为什么要有JSP:JSP主要负责与用户进行交互,将最终的界面呈现给用户

当服务器接收到一个jsp后缀的请求时,会将该请求交给jsp引擎去处理,每一个jsp页面第一次被访问的时候,JSP引擎会将它翻译为一个servlet文件,再由web容器调用servlet完成相应的部署。

单纯从开发的角度来看:jsp就是在HTML中嵌入java程序

三种嵌入方式:

1.jsp脚本,执行java逻辑代码

<%
    String srt = "hello world";
%>

2.jsp声明,定义Java方法

<%!
    public String test(){
      String str = "hello world";
      return str;
    }
%>

3.jsp表达式,把Java对象直接输出到HTML页面中

//输出到HTML文件
  <%=str%>

测试:

<%
    List<String> name = new ArrayList<>();
    name.add("张三");

    List<Integer> age = new ArrayList<>();
    age.add(22);
  %>
  <table border="1">
    <tr>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
    <tr>
      <td>
        <%=name.get(0)%>
      </td>
      <td>
        <%=age.get(0)%>
      </td>
    </tr>
  </table>

运行结果:

改良:嵌入Java的for循环 

<table border="1">
    <tr>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
    <%
      for(int i=0;i<name.size();i++){
    %>
    <tr>
      <td>
        <%=name.get(i)%>
      </td>
      <td>
        <%=age.get(i)%>
      </td>
    </tr>
    <%
      }
    %>

改良:

创建一个实体类

package test;

public class Users {
    private String username;
    private Integer age;

    public Users(String username,Integer age){
        this.username=username;
        this.age=age;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

jsp优化:

<%
    List<Users> list = new ArrayList<>();
    list.add(new Users("张三",21));
    list.add(new Users("李四",18));
  %>
  <table border="1">
    <tr>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
    <%
      for(int i=0;i<list.size();i++){
    %>
    <tr>
      <td>
        <%=list.get(i).getUsername()%>
      </td>
      <td>
        <%=list.get(i).getAge()%>
      </td>
    </tr>
    <%
      }
    %>

  </table>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值