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