Java後端用EL表達式改進JSP

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表達式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: