Java EL表达式
执久呀 人气:0EL表达式改进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>
运行结果
加载全部内容