Java后端用EL表达式改进JSP

目录
  • 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>

运行结果

到此这篇关于Java后端用EL表达式改进JSP的文章就介绍到这了,更多相关Java EL表达式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • El表达式使用问题javax.el.ELException:Failed to parse the expression的解决方式

    javax.el.ELException的解决方式failed to parse the expression [${xxx}] Tomcat 7 'javax.el.ELException' 的解决方式 tomcat7对EL表达式的语法要求比较严格,例如"${owner.new}"因包含关键字new就会导致解析出错. 问题是出来了,怎么解决呢?有三种,如下: 第一种:严格遵守java规范,修改对象的属性名称,要求不包含java关键字; 第二种:修改EL表达式,例如"${ow

  • EL表达式的隐式对象_动力节点Java学院整理

    在使用EL时,其实EL是先看标识符是否是其隐式对象之一,如果不是,才从四个域(page.request.session.application)中顺序搜索(使用pageContext.findAttribute方法). EL总共有如下隐式对象: 而这里,EL和JSP一样拥有pageContext对象,通过在EL中使用pageContext对象,能获取JSP中其它几个隐式对象,然后再获得这些对象中的属性.例如获取当前web工程的名称的经典EL表达式:${ pageContext.request.c

  • EL表达式简介_动力节点Java学院整理

    JSP页面中支持使用EL表达式,EL全名为Expression Language.EL表达式的主要作用有: ① 获取数据: ② 执行运算: ③ 使用EL表达式的11大隐式对象: ④ 调用Java方法. 当然,EL表达式还能配合JSTL标签,进行其他一些功能的显示,例如迭代等等. 我们先来看使用EL表达式来获取数据 在JSP页面中使用${标识符}的形式,就是通知JSP引擎在Servlet中调用pageContext.findAttribute("标识符")来获取数据,具体是以标识符作为关

  • 浅谈java里的EL表达式在JSP中不能解析的问题

    今天也碰到了el表达式无法解析的事情,于是在网上查询了下,大多说是因为web.xml中声明的版本问题 于是收集了如下版本: web-app_2_2.xsd <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java

  • JAVA JSP页面技术之EL表达式整理归纳总结

    一.概念 表达式语言(Expression Language),或称EL表达式,简称EL,是Java中的一种特殊的通用编程语言,借鉴于JavaScript和XPath.主要作用是在Java Web应用程序嵌入到网页(如JSP)中,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作.EL在得到某个数据时,会自动进行数据类型的转换. 主要作用: 1) 获取数据 EL表达式主要用于替换JSP页面中的脚本表达式<%= %>,以从各种类型的web域 中检索java

  • JSP中EL表达式用法_动力节点Java学院整理

    JSP页面中支持使用EL表达式,EL全名为Expression Language.EL表达式的主要作用有: ① 获取数据: ② 执行运算: ③ 使用EL表达式的11大隐式对象: ④ 调用Java方法. 当然,EL表达式还能配合JSTL标签,进行其他一些功能的显示,例如迭代等等. 我们先来看使用EL表达式来获取数据 在JSP页面中使用${标识符}的形式,就是通知JSP引擎在Servlet中调用pageContext.findAttribute("标识符")来获取数据,具体是以标识符作为关

  • Javaweb El表达式实例详解

    EL全称 Expression Language(表达式语言),是jsp2.0最重要的特性之一,可以利用EL表达式来访问应用程序中的数据,来消除jsp页面中的java脚本. el表达式的语法 expression例如x+y可以写成{x+y} el中的关键字 以下是el中的关键字,他们不能用做标识符: and,eq,gt,true,instanceof,or,ne,le,false,empty,not,lt,ge,null,div,mod 一.EL表达式简介 EL 全名为Expression La

  • Java后端用EL表达式改进JSP

    目录 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容器(tomca

  • JSP之EL表达式基础详解

    一.EL表达式简介 EL表达式全称:Expression Language,即表达式语言 EL表达式作用:代替JSP页面中表达式脚本进行数据的输出 EL表达式比JSP的表达式脚本简洁很多 EL表达式的格式是:${表达式} ,注:EL表达式写在jsp页面中,表达式一般是域对象的key 代码演示:在web目录下创建Test.jsp <body> <% request.setAttribute("key", "value"); %> <%--

  • JSP中EL表达式的用法详解(必看篇)

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${为起始.以}为结尾的.上述EL范例的意思是:从Session的范围中,取得 用户的性别.假若依照之前JSP Scriptlet的写法如下: User user =(User)session.getAttribute("user"); String sex =user.getSex( );

  • JSP EL表达式详细介绍

    一.JSP EL语言定义 E L(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法.它是一种简单的语言,基于可用的命名空间(PageContext 属性).嵌套属性和对集合.操作符(算术型.关系型和逻辑型)的访问符.映射到 Java 类中静态方法的可扩展函数以及一组隐式对象.       EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.

  • 浅谈jsp EL表达式取值过程、page和pagecontext的区别

    1.EL表达式解析过程 JSP中,我们经常会写为${obj.name}字样,但你有没有想过,它的取值过程是什么,属性值从哪取得? ${obj}相当于 request.getAttribute("obj"),这句话严格来说不严谨,依次的请求范围是page.request.session.application 也就是说,如果在page.getAttribute()找不到,再去request.getAttribute,如果request找不到,再去session里找,session里找不到

  • jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

    在自己练手时遇到了EL表达式被当成字符串处理而没有正确解析的现象.当时工程中使用的Javaee5, web.xml <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/

随机推荐