首頁 > 軟體

Java後端用EL表示式改進JSP

2022-02-23 19:00:15

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表示式內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com