Java后端用EL表達式改進JSP
EL表達式改進JSP
JSP的缺點
由于jsp頁面內(nèi),既可以定義HTML標(biāo)簽,又可以定義java代碼,造成了以下問題
1、書寫麻煩:特別是復(fù)雜的頁面
2、閱讀麻煩
3、復(fù)雜度高:運行需要依賴各種環(huán)境,JRE。JSP容器(tomcat服務(wù)器).....
4、占用內(nèi)存和磁盤:JSP會自動生成.java和.class文件占磁盤,運行.class文件占內(nèi)存
5、調(diào)試困難:出錯后,需要找到自動生成的.java文件進行調(diào)試
6、不利團隊寫作:前后端人員
...
JSP已經(jīng)逐漸退出歷史舞臺,取而代之的是html和Ajax
演化過程:
最好不要直接在jsp里寫java代碼
EL表達式
Expression Language表達式語言,用于簡化JSP頁面內(nèi)的java代碼
主要功能:獲取數(shù)據(jù)
語法:${expression}
如:${brands}:獲取域中存儲的key為brands的數(shù)據(jù)
idea中使用Maven時常見問題
idea中使用了maven無法創(chuàng)建包/類
沒有源文件,將其中的一個文件添加為源文件,就可創(chuàng)建包或類了(項目結(jié)構(gòu)中標(biāo)藍)
idea中配置web的maven項目
maven創(chuàng)建的web中無法創(chuàng)建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> <!--設(shè)置端口號(可以修改)--> <port>8080</port> <!--設(shè)置路徑(可以修改)--> <path>/jsp-demo02</path> </configuration> </plugin></plugins> </build>
EL表達式的演練
創(chuàng)建一個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 { //添加數(shù)據(jù) 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域中,可以轉(zhuǎn)發(fā)到j(luò)sp頁面中從而使用EL表達式 request.setAttribute("lists", list); //3、轉(zhuǎn)發(fā)到el-demo.jsp request.getRequestDispatcher("/el-demo.jsp").forward(request, response); } }
在web.app目錄下創(chuàng)建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>
運行結(jié)果
到此這篇關(guān)于Java后端用EL表達式改進JSP的文章就介紹到這了,更多相關(guān)Java EL表達式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Maven?Web項目使用Cargo插件實現(xiàn)自動化部署的詳細步驟
cargo ,它是一組幫助用戶實現(xiàn)自動化部署,操作Web容器的工具,并且?guī)缀踔С炙械腤eb容器,這篇文章主要介紹了Maven?Web項目使用Cargo實現(xiàn)自動化部署,需要的朋友可以參考下2023-02-02Java 關(guān)于遞歸的調(diào)用機制精細解讀
關(guān)于遞歸是什么,簡單的說: 遞歸就是方法自己調(diào)用自己,每次調(diào)用時 傳入不同的變量.遞歸有助于編程者解決復(fù)雜的問題,同時可以讓代碼變得簡潔2021-10-10java使用java.util.Date獲取指定日期的年、月、日、時、分、秒
在Java中獲取當(dāng)前時間和日期是很常見的操作,也是很重要的操作,下面這篇文章主要給大家介紹了關(guān)于java使用java.util.Date獲取指定日期的年、月、日、時、分、秒的相關(guān)資料,需要的朋友可以參考下2024-01-01詳解Java中ByteArray字節(jié)數(shù)組的輸入輸出流的用法
ByteArrayInputStream和ByteArrayOutputStream分別集成自InputStream和OutputStream這兩個輸入和輸出流,這里我們就來詳解Java中ByteArray字節(jié)數(shù)組的輸入輸出流的用法,需要的朋友可以參考下2016-06-06