EL表达式改进JSP

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

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文件中写入

  1. <build>
  2. <plugins>
  3. <!-- tomcat插件 -->
  4. <plugin>
  5. <groupId>org.apache.tomcat.maven</groupId>
  6. <artifactId>tomcat7-maven-plugin</artifactId>
  7. <version>2.2</version>
  8. <configuration>
  9. <!--设置端口号(可以修改)-->
  10. <port>8080</port>
  11. <!--设置路径(可以修改)-->
  12. <path>/jsp-demo02</path>
  13. </configuration>
  14. </plugin></plugins>
  15. </build>

EL表达式的演练

创建一个com.web.ServletDemo1类

  1. package com.web;
  2. import javax.servlet.ServletException;
  3. import javax.servlet.annotation.WebServlet;
  4. import javax.servlet.http.HttpServlet;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import java.io.IOException;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. @WebServlet("/demo1")
  11. public class ServletDemo1 extends HttpServlet {
  12. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  13. //添加数据
  14. List<String> list=new ArrayList<>();
  15. list.add("zhangSan1");
  16. list.add("zhangSan2");
  17. list.add("zhangSan3");
  18. list.add("zhangSan4");
  19. list.add("zhangSan5");
  20. System.out.println(list);
  21. //2、存储到request域中,可以转发到jsp页面中从而使用EL表达式
  22. request.setAttribute("lists", list);
  23. //3、转发到el-demo.jsp
  24. request.getRequestDispatcher("/el-demo.jsp").forward(request, response);
  25. }
  26. }

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

  1. <%@ page language="java" contentType="text/html; charset=utf-8"
  2. isELIgnored="false"
  3. pageEncoding="utf-8" %>
  4. <html>
  5. <head>
  6. <meta charset="utf-8"/>
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. ${lists}
  11. </body>
  12. </html>

运行结果

相关文章