表达式语句(EL)

EL的基本语法
${expression}
Expression:制定要输出的变了或字符串。或EL运算符组成的表达式。

禁用EL表达式:
1、    使用“”符号禁用。
${expression}
2、    使用page指令禁用。
<%@ page isElIgnored="true" %>
3、    在web.xml文件中配置<el-ignored>元素
  <!-- 禁用EL表达式 -->
  <jsp-config>
  <jsp-property-group>
  <url-pattern>*.jsp</url-pattern>
  <el-ignored>true</el-ignored>
  </jsp-property-group>
  </jsp-config>


EL保留关键字:
保留关键字
and(与&&)    eq(等于)    gt(大于)    true
instanceof    div(除)    or(或||)    ne(不等于)
le(小于等于)    false    empty    mod(求余)
not(非!)    lt(小于)    ge(大于等于)    null

EL访问数据:
${javaBean.name}
javaBean:是要访问的类名。
Name:属性名。

EL访问数组:
${arr[num]}
Arr:数组名。
Num:数组下标。

EL中可以执行算术运算符、关系运算符逻辑运算符。

EL条件运算符
${表达式条件 ?  表达式1:表达式2}


EL隐藏对象:
${pageContext.request}获取request对象。
${pageContext.request.serverPort}方法Request对象的getServerPort()方法。
${pageContext.response}获取response对象。
${pageContext.out}获取out对象。
${pageContext.session}获取Session对象。
${pageContext.exception}获取exception对象。
${pageContext.page}获取page对象。
${pageContext.servletContext}获取servletContext对象。

EL表达式的隐含对象:
${pageScope}page隐含对象。读取page对象里javaBean的值。
${requestScope.values} request对象,读取request对象域里的值。
${sessionScope}session对象,读取session对象域里的值。
${applicationScope}application对象,读取application对象域里的值。

访问环境信息的隐含对象:
1、    Param对象
获取jsp页面标签里的对象值。
<input name=”name” type=”text”/>
    ${param.name}
2、    paramValues对象
获取请求参数值为数组的对象。
<input  name=”arrbox” type=”checkbox”  id=”arrbox”  value=”黄山”>
<input  name=”arrbox” type=”checkbox”  id=”arrbox”  value=”泰山”>
<input  name=”arrbox” type=”checkbox”  id=”arrbox”  value=”华山”>
${paramValues.arrbox[num]}
3、    header和headerValues对象
${header.connection}
4、    initParam对象
获取Web应用初始化参数的值。
  <context-param>
  <param-name>Uk</param-name>
  <param-value>190</param-value>
</context-param>
${initParam.UK}
5、    cookie对象
<%Cookie ck=new Cookie("user","mrbccd"); 
response.addCookie(ck);
%>
${cookie.user.value}


EL定义和使用函数
1、    编写java类和函数
package com.wgh;

public class StringDeal {
    public static String lianjieString(String str){
        String newstr=str.replaceAll("
", "<br/>");
        
        return str;
    }

}

2、    配置tld(标签库描述文件)文件放在Web-inf文件夹下
<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/j2eeweb-jsptaglibrary_2_0.xsd"
 version="2.0"
 >
 
 <tlib-version>1.0</tlib-version>
 <uri>/StringDeal</uri>
 <function>
 <name>lianjieString</name>
 <function-class>com.wgh.StringDeal</function-class>
 <function-signature>
 java.lang.String  lianjieString(java.lang.String)
 </function-signature>
 </function>

</taglib>        


3、    Jsp提交页面

<form action="login.jsp" method="post">
<ul>
<li>
<input type="text" name="username" />
</li>

<li><input type="submit" value="提交"/></li>
</ul>
</form>

4、    Login.jsp页面

<%@ taglib uri="/StringDeal" prefix="wghfn" %>
……省略代码
${wghfn:lianjieString(param.username)}
原文地址:https://www.cnblogs.com/gynbk/p/6556324.html