EL表达式改进JSP

x33g5p2x  于2022-02-24 转载在 其他  
字(2.3k)|赞(0)|评价(0)|浏览(335)

EL表达式改进JSP

JSP的缺点

EL表达式

idea中使用Maven时常见问题

idea中使用了maven无法创建包/类

idea中配置web的maven项目

maven创建的web中无法创建servlet

maven中部署tomcat插件

EL表达式的演练

EL表达式改进JSP

JSP的缺点

由于jsp页面内,既可以定义HTML标签,又可以定义java代码,造成了以下问题

1、书写麻烦:特别是复杂的页面

2、阅读麻烦

3、复杂度高:运行需要依赖各种环境,JRE。JSP容器(tomcat服务器).....

4、占用内存和磁盘:JSP会自动生成.java和.class文件占磁盘,运行.class文件占内存

5、调试困难:出错后,需要找到自动生成的.java文件进行调试

6、不利团队写作:前后端人员

...

JSP已经逐渐退出历史舞台,取而代之的是html和Ajax

演化过程:

最好不要直接在jsp里写java代码

EL表达式

Expression Language表达式语言,用于简化JSP页面内的java代码

主要功能:获取数据

语法:${expression}

如:${brands}:获取域中存储的key为brands的数据

idea中使用Maven时常见问题

idea中使用了maven无法创建包/类

没有源文件,将其中的一个文件添加为源文件,就可创建包或类了(项目结构中标蓝)

idea中配置web的maven项目

maven创建的web中无法创建servlet

 maven中部署tomcat插件

pom.xml文件中写入

<build>
    <plugins>
<!--  tomcat插件    -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <!--设置端口号(可以修改)-->
          <port>8080</port>
          <!--设置路径(可以修改)-->
           <path>/jsp-demo02</path>
        </configuration>
      </plugin></plugins>
  </build>

EL表达式的演练

创建一个com.web.ServletDemo1类

package com.web;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@WebServlet("/demo1")
public class ServletDemo1 extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      //添加数据
        List<String> list=new ArrayList<>();
        list.add("zhangSan1");
        list.add("zhangSan2");
        list.add("zhangSan3");
        list.add("zhangSan4");
        list.add("zhangSan5");
        System.out.println(list);
        //2、存储到request域中,可以转发到jsp页面中从而使用EL表达式
        request.setAttribute("lists", list);
        //3、转发到el-demo.jsp
request.getRequestDispatcher("/el-demo.jsp").forward(request, response);

    }
}

在web.app目录下创建el-demo.jsp,其中写入${lists}即可

<%@ page language="java" contentType="text/html; charset=utf-8"
         isELIgnored="false"
         pageEncoding="utf-8" %>

<html>
<head>

    <meta charset="utf-8"/>
    <title>Insert title here</title>
</head>
<body>
${lists}
</body>
</html>

运行结果

相关文章