目錄
- 一、EL表達(dá)式介紹
- 二、EL獲取數(shù)據(jù)(從四大域中獲取屬性)
- 三、EL中的內(nèi)置對(duì)象
- 1、域?qū)傩韵嚓P(guān)(4個(gè))
- 2、其他重要內(nèi)置對(duì)象(4個(gè))
- 1、pageContext
- 2、param(獲取請(qǐng)求中的指定參數(shù))
- 3、paramValues
- 4、initParam
- 四、EL訪問(wèn)Bean的屬性
- 1、什么是java Bean
- 2、EL訪問(wèn)Bean屬性
- 五、EL訪問(wèn)數(shù)組中的數(shù)據(jù)
- 六、EL獲取list中數(shù)據(jù)
- 七、EL訪問(wèn)Map
- 八、EL中的運(yùn)算符(empty)
- 1、先說(shuō)說(shuō)幾個(gè)常用運(yùn)算符
- 2、empty運(yùn)算符
- 九、自定義EL函數(shù)
- 十、EL總結(jié)
一、EL表達(dá)式介紹
- Expression Language表達(dá)式語(yǔ)言
- 是一種在JSP頁(yè)面獲取數(shù)據(jù)的簡(jiǎn)單方式(只能獲取數(shù)據(jù),不能設(shè)置數(shù)據(jù))
- 在JSP2.0開(kāi)始引入概念
語(yǔ)法格式
在JSP頁(yè)面的任何靜態(tài)部分均可通過(guò):${expression}來(lái)獲取到指定表達(dá)式的值
二、EL獲取數(shù)據(jù)(從四大域中獲取屬性)
EL只能從四大域中獲取屬性
1、如果沒(méi)有使用EL的內(nèi)置對(duì)象,則查找數(shù)據(jù)順序是依次按照由小到大范圍從四大域中查找指定名稱(chēng)的屬性值
二、EL獲取數(shù)據(jù)(從四大域中獲取屬性)
EL只能從四大域中獲取屬性
1、如果沒(méi)有使用EL的內(nèi)置對(duì)象,則查找數(shù)據(jù)順序是依次按照由小到大范圍從四大域中查找指定名稱(chēng)的屬性值
- pageContextrequestsessionapplication
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
pageContext.setAttribute("name", "linjie");
request.setAttribute("name", "lucy");
session.setAttribute("name", "king");
application.setAttribute("name", "bilibili");
%>
name=${name }
/body>
/html>
可以看出沒(méi)有使用EL內(nèi)置對(duì)象時(shí)查找順序是由小到大,所以最先顯示的是pageContext域中的
2、使用EL內(nèi)置對(duì)象,從指定域中獲取數(shù)據(jù),提高了查找效率
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
pageContext.setAttribute("name", "linjie");
request.setAttribute("name", "lucy");
session.setAttribute("name", "king");
application.setAttribute("name", "bilibili");
%>
name=${applicationScope.name }
/body>
/html>
可以看出,使用applicationScope即可指定application域中的name輸出,當(dāng)然其他域也是類(lèi)似,下文會(huì)說(shuō)這四大域?qū)傩韵嚓P(guān)的內(nèi)置對(duì)象
三、EL中的內(nèi)置對(duì)象
EL有11個(gè)內(nèi)置對(duì)象,這里主要講域?qū)傩韵嚓P(guān)的4個(gè)和其他4個(gè)
EL的11個(gè)內(nèi)置對(duì)象,除了pageContext以外,其他10個(gè)內(nèi)置對(duì)象的類(lèi)型都是java.util.Map類(lèi)型
1、域?qū)傩韵嚓P(guān)(4個(gè))
- pageScope:從page范圍域?qū)傩钥臻g中查找指定的key
- requestScope:從request范圍域?qū)傩钥臻g中查找指定的key
- sessionScope:從session范圍域?qū)傩钥臻g中查找指定的key
- applicationScope:從application范圍域?qū)傩钥臻g中查找指定的key
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
pageContext.setAttribute("name", "linjie");
request.setAttribute("name", "lucy");
session.setAttribute("name", "king");
application.setAttribute("name", "bilibili");
%>
name=${applicationScope.name }br>
name=${pageScope.name }br>
name=${sessionScope.name }br>
name=${requestScope.name }br>
/body>
/html>
2、其他重要內(nèi)置對(duì)象(4個(gè))
1、pageContext
該pageContext與JSP內(nèi)置對(duì)象pageContext是同一個(gè)對(duì)象。通過(guò)該對(duì)象,可以獲取到request、response、session、servletContext、servletConfig等對(duì)象注意:這些對(duì)象在EL里不是內(nèi)置對(duì)象,這些對(duì)象只能通過(guò)pageContext獲取
在EL中直接${pageContext.request}即可獲取request對(duì)象,其底層調(diào)用的是pageContext.getRequest()方法。同理,也可以通過(guò)類(lèi)似方法獲取其他對(duì)象
重點(diǎn):其中最常用的:${pageContext.request.contextPath }
,代表web應(yīng)用下的根,可以看出下面action中的路徑可讀性更強(qiáng)了
Regster.java
package linjie.com;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Regster extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
index.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%-- ${pageContext.request.contextPath }代表web應(yīng)用的根 --%>
form action="${pageContext.request.contextPath }/regster" method="POST">
xxxinput type="text" name="name"/>br>
yyyinput type="text" name="age"/>br>
input type="submit" value="點(diǎn)擊">
/form>
/body>
/html>
2、param(獲取請(qǐng)求中的指定參數(shù))
其底層實(shí)際調(diào)用request.getParameter()
index.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%-- ${pageContext.request.contextPath }代表web應(yīng)用的根 --%>
form action="${pageContext.request.contextPath }/show.jsp" method="POST">
xxxinput type="text" name="name"/>br>
yyyinput type="text" name="age"/>br>
input type="submit" value="點(diǎn)擊">
/form>
/body>
/html>
show.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
name=${param.name }br>
age=${param.age }br>
/body>
/html>
客戶瀏覽器訪問(wèn)結(jié)果
3、paramValues
獲取請(qǐng)求中的指定參數(shù)的所以值,其底層實(shí)際調(diào)用request.getParameterValues()
index.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%-- ${pageContext.request.contextPath }代表web應(yīng)用的根 --%>
form action="${pageContext.request.contextPath }/show.jsp" method="POST">
xxxinput type="text" name="name"/>br>
yyyinput type="text" name="age"/>br>
愛(ài)好:
input type="checkbox" name="hobby" value="sleep">睡覺(jué)
input type="checkbox" name="hobby" value="play">玩
input type="checkbox" name="hobby" value="eat">吃
input type="submit" value="點(diǎn)擊">
/form>
/body>
/html>
show.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
name=${param.name }br>
age=${param.age }br>
hobby[0]=${paramValues.hobby[0] }br>
hobby[1]=${paramValues.hobby[1] }br>
/body>
/html>
客戶瀏覽器顯示結(jié)果
4、initParam
獲取初始化參數(shù),其底層調(diào)用的是ServletContext.getInitParameter()
web.xml
?xml version="1.0" encoding="UTF-8"?>
web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
display-name>07eltttt/display-name>
welcome-file-list>
welcome-file>index.jsp/welcome-file>
/welcome-file-list>
!--初始化參數(shù) -->
context-param>
param-name>name/param-name>
param-value>林杰/param-value>
/context-param>
servlet>
display-name>Regster/display-name>
servlet-name>Regster/servlet-name>
servlet-class>linjie.com.Regster/servlet-class>
/servlet>
servlet-mapping>
servlet-name>Regster/servlet-name>
url-pattern>/regster/url-pattern>
/servlet-mapping>
/web-app>
index.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
name=${initParam.name }
/body>
/html>
客戶瀏覽器顯示結(jié)果
四、EL訪問(wèn)Bean的屬性
1、什么是java Bean
JavaBean是公共Java類(lèi),但是為了編輯工具識(shí)別
需要滿足至少三個(gè)條件
- 有一個(gè)public默認(rèn)構(gòu)造器(例如無(wú)參構(gòu)造器)
- 屬性使用public 的get,set方法訪問(wèn),也就是說(shuō)設(shè)置成private同時(shí)get,set方法與屬性名的大小也需要對(duì)應(yīng)。例如屬性name,get方法就要寫(xiě)成,public String getName(){},N大寫(xiě)。
- 需要序列化。這個(gè)是框架,工具跨平臺(tái)反映狀態(tài)必須的
2、EL訪問(wèn)Bean屬性
EL可以通過(guò)${key.屬性}的方式獲取到指定值,其底層實(shí)際調(diào)用的是該對(duì)象的相應(yīng)屬性的get方法
Demo.java
package linjie.com;
/*
*Bean
*/
public class Demo {
private String name;
private int age;
public Demo(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return super.toString();
}
}
index.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
import="linjie.com.Demo"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
Demo test=new Demo("linjie",12);
request.setAttribute("ELttt", test);
%>
name=${requestScope.ELttt.name }br>
age=${requestScope.ELttt.age }br>
!-- 若訪問(wèn)為null的對(duì)象的屬性,EL是不會(huì)拋出空指針異常的,只是不顯示而已 -->
names=${requestScope.ELtttxx.name }br>
/body>
/html>
客戶瀏覽器顯示結(jié)果
五、EL訪問(wèn)數(shù)組中的數(shù)據(jù)
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
String[] names={"xlj","lucy","king"};
pageContext.setAttribute("names", names);
%>
name[1]=${names[1] }br>
!-- 若訪問(wèn)的數(shù)組元素下標(biāo)超出了數(shù)組下標(biāo)上限,EL不會(huì)拋出越界異常,只是不顯示 -->
names[5]=${names[5] }br>
/body>
/html>
下面是訪問(wèn)類(lèi)的數(shù)組
Stu.java
package linjie.com;
/*
*Bean
*/
public class Stu {
private String sname;
private String address;
public Stu() {
super();
}
public Stu(String sname, String address) {
super();
this.sname = sname;
this.address = address;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return super.toString();
}
}
index.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
import="linjie.com.*"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
Stu[] stus=new Stu[3];
stus[0]=new Stu("xlj","A");
stus[1]=new Stu("lucy","B");
stus[2]=new Stu("kingA","C");
pageContext.setAttribute("stus",stus);
%>
stus[1].Sname=${stus[1].sname }
/body>
/html>
客戶瀏覽器顯示結(jié)果
六、EL獲取list中數(shù)據(jù)
%@page import="java.util.*"%>
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
ListString> names=new ArrayListString>();
names.add("xlj");
names.add("lucy");
pageContext.setAttribute("names", names);
%>
!-- 因?yàn)長(zhǎng)ist底層是數(shù)組,所以可以這樣寫(xiě) -->
names[1]=${names[1] }br>
/body>
/html>
客戶瀏覽器顯示結(jié)果
注意:
EL可以通過(guò)索引訪問(wèn)List,但無(wú)法訪問(wèn)Set。因?yàn)镾et中沒(méi)有索引概念
七、EL訪問(wèn)Map
%@page import="java.util.*"%>
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
MapString,Object> map=new HashMapString,Object>();
map.put("age", 20);
map.put("name", "xlj");
pageContext.setAttribute("map", map);
%>
name=${map.name }br>
age=${map.age }br>
/body>
/html>
客戶瀏覽器顯示結(jié)果
八、EL中的運(yùn)算符(empty)
1、先說(shuō)說(shuō)幾個(gè)常用運(yùn)算符
- 算術(shù)運(yùn)算符:+、-、*、/、%(不支持++、–)
- 關(guān)系運(yùn)算符:==、!=、>、>=、、=
- 邏輯運(yùn)算符:!、、||、not、and、or
- 條件運(yùn)算符:?:
- 取值運(yùn)算符:[]、點(diǎn)號(hào)
2、empty運(yùn)算符
用法為${empty 變量},結(jié)果為布爾值
%@page import="java.util.*"%>
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
%
String name1=null;
String name2="";
ListString> name3=new ArrayListString>();
pageContext.setAttribute("name1", name1);
pageContext.setAttribute("name2", name2);
pageContext.setAttribute("name3", name3);
%>
empty對(duì)于沒(méi)有定義的變量,運(yùn)算結(jié)果為true:
empty namex=${empty namex }br>
empty對(duì)于null的引用,運(yùn)算結(jié)果為true:
empty name1=${empty name1 }br>
empty對(duì)于為空串的String引用,運(yùn)算結(jié)果為true:
empty name2=${empty name2 }br>
empty對(duì)于沒(méi)有元素的數(shù)組或集合,運(yùn)算結(jié)果為true:
empty name3=${empty name3 }br>
/body>
/html>
客戶瀏覽器顯示結(jié)果
九、自定義EL函數(shù)
因?yàn)镋L本身不具有處理字符串能力,所以可以自定義EL函數(shù)
- 定義函數(shù)(新建MyEL.java類(lèi))
- 注冊(cè):先找到j(luò)sp2-example-taglib.tld,將頭部以及注冊(cè)函數(shù)復(fù)制到自己創(chuàng)建的.tld文件中(.tld放在WEB-INF下)
- 在index.jsp中使用,使用時(shí)需要%@ taglib uri=”http://tomcat.apache.org/jsp2-example-taglib” prefix=”MyEL” %>
1、定義函數(shù)MyEL.java
package linjie.com;
//自定義函數(shù)
//該類(lèi)及其函數(shù),需要在擴(kuò)展名為.tld的xml文件中注冊(cè)
//tld:tag library definition(標(biāo)簽庫(kù)定義)
//xml文件是需要約束的,即需要配置文件頭部。這個(gè)頭部約束可以從一下文件中進(jìn)行復(fù)制
//在Tomcat安裝目錄下:webapps\examples\WEB-INF\jsp2
//文件為:jsp2-example-taglib.tld
//這個(gè).tld的xml文件,需要定義在當(dāng)前web項(xiàng)目的WEB-INF目錄下,在此目錄下創(chuàng)建以.tld結(jié)尾的xml文件
//將jsp2-example-taglib.tld中頭部復(fù)制到創(chuàng)建的xml文件中
//再將函數(shù)注冊(cè),還是在jsp2-example-taglib.tld底部中復(fù)制
public class MyEL {
private static MyEL instance;
public static MyEL getInstance() {
if(instance==null)
{
instance=new MyEL();
}
return instance;
}
//字符串小寫(xiě)變大寫(xiě)
public static String LowerToUpper(String str) {
return str.toUpperCase();
}
}
2、將jsp2-example-taglib.tld中頭部部分以及底部的注冊(cè)函數(shù)部分復(fù)制到自己創(chuàng)建的tld(在WEB-INF下)文件中
MyEL.tld
?xml version="1.0" encoding="UTF-8"?>
taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
!-- 定義標(biāo)簽庫(kù)信息 -->
description>A tag library exercising SimpleTag handlers./description>
tlib-version>1.0/tlib-version>
short-name>MyEL/short-name>!-- 標(biāo)簽庫(kù)名稱(chēng),一般定義成和文件名一樣 -->
uri>http://tomcat.apache.org/jsp2-example-taglib/uri>
!-- 注冊(cè)函數(shù) -->
function>
name>MyLowerToUpper/name>
function-class>linjie.com.MyEL/function-class>!-- 方法得類(lèi) -->
function-signature>java.lang.String LowerToUpper( java.lang.String )/function-signature>!-- 方法簽名 :需要返回值以及方法名、參數(shù)-->
/function>
/taglib>
3、在index.jsp中使用,使用時(shí)需要%@ taglib uri=”http://tomcat.apache.org/jsp2-example-taglib” prefix=”MyEL” %>
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
%@ taglib uri="http://tomcat.apache.org/jsp2-example-taglib" prefix="MyEL" %>!-- tld中的uri和short-name -->
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
title>Insert title here/title>
/head>
body>
!-- 這個(gè)方法名是在tld注冊(cè)時(shí)的name -->
${MyEL:MyLowerToUpper("sasas") }br>
!-- EL函數(shù)只能處理四大域中的屬性值及String常量 -->
%
String name="xlj";
pageContext.setAttribute("name", name);
%>
${MyEL:MyLowerToUpper(name) }br>
/body>
/html>
客戶瀏覽器顯示結(jié)果
十、EL總結(jié)
- EL表達(dá)式不能出現(xiàn)在Java代碼塊、表達(dá)式塊等JSP動(dòng)態(tài)代碼部分
- EL只能從四大域?qū)傩钥臻g中獲取數(shù)據(jù)(pageContext、request、session、application)
- EL不會(huì)拋出空指針異常,只會(huì)不顯示
- EL不會(huì)拋出數(shù)組越界異常,只會(huì)不顯示
- EL不具有對(duì)字符串進(jìn)行處理的能力(可以使用JSTL的EL或者自定義EL函數(shù))
到此這篇關(guān)于jsp EL表達(dá)式詳解的文章就介紹到這了,更多相關(guān)jsp EL表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- JSP頁(yè)面無(wú)法識(shí)別EL表達(dá)式問(wèn)題解決方案
- 使用IDEA編寫(xiě)jsp時(shí)EL表達(dá)式不起作用的問(wèn)題及解決方法
- 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式
- jsp 開(kāi)發(fā)之struts2中s:select標(biāo)簽的使用
- JSP中EL表達(dá)式用法_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- JSP 開(kāi)發(fā)之 releaseSession的實(shí)例詳解
- springMVC如何將controller中Model數(shù)據(jù)傳遞到j(luò)sp頁(yè)面
- JSP之EL表達(dá)式基礎(chǔ)詳解