JSTL学习总结和整理(二)EL表达式和JSTL

搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原作者!

------------------------------------------------

 

http://xiaofengxp.iteye.com/blog/507556


一、什么是EL
    EL即Expression Language(表达式语言)。在使用JSP中标准动作一般是操作JavaBean的属性,JavaBean的属性只能为基本数据类型,并且不能进行逻辑操作。而EL和JSTL可以解决这些问题。
    EL的功能与<jsp:getProperty />类似,但是更加简洁。
二、EL的语法

  • ${EL exprission}
  • ${bean.name} 或 ${bean['name']}

    ${bean.name}实质是调用bean的getName()方法。

示例1

Java代码
  1. <%  
  2.     request.setAttribute("name" , "张三" );  
  3. %>  
  4. ${name }  
<%
	request.setAttribute("name","张三");
%>
${name }

以上代码将输出"张三"。

示例2

Java代码
  1. <jsp:useBean id= "stu"   class = "entity.Student"  scope= "request"  />  
  2. <jsp:setProperty name="stu"  property= "name"  value= "张三"  />  
  3. <jsp:setProperty name="stu"  property= "age"  value= "22"  />  
  4. 姓名:${stu.name}  
  5. <br>  
  6. 年龄:${stu["age" ]}  
<jsp:useBean id="stu" class="entity.Student" scope="request" />
<jsp:setProperty name="stu" property="name" value="张三" />
<jsp:setProperty name="stu" property="age" value="22" />
姓名:${stu.name}
<br>
年龄:${stu["age"]}

以上代码将输出"张三"和22


三、EL隐式对象
    EL隐式对象包括作用域访问对象和参数访问对象。
    1、作用域访问对象

  • pageScope
  • requestScope
  • sessionScope
  • applicationScope

    EL表达式语言查找属性时按照作用域范转从小到大查找,找到即返回属性的值,不再去其它范围内查找。

示例3

Java代码
  1. <%  
  2.     pageContext.setAttribute("name" , "张三" );  
  3.     request.setAttribute("name" , "李四" );  
  4.     session.setAttribute("name" , "王五" );  
  5.     application.setAttribute("name" , "赵六" );  
  6. %>  
  7. ${name }  
<%
	pageContext.setAttribute("name","张三");
	request.setAttribute("name","李四");
	session.setAttribute("name","王五");
	application.setAttribute("name","赵六");
%>
${name }

上面的示例将查找到张三。如果想要找到其它范围内的值,应该使用requestScope等隐式对象。如:

Java代码
  1. ${requestScope.name} 
  2. ${sessionScope.name}
${requestScope.name}


   2、参数访问对象

  • param:根据参数名或得值
  • paramValues:当参数名对应一组值时使用,如爱好

示例4
index.jsp:

Java代码
  1. <a href= "main.jsp?name=admin" >main.jsp</a>  
<a href="main.jsp?name=admin">main.jsp</a>

main.jsp:

Java代码
  1. ${param.name }  
${param.name }


paramValues的用法:

Java代码
  1. ${paramValues.fav [ 0 ] } ,${paramValues.fav[ 1 ]} 

你可能感兴趣的:(java,jsp,bean,Blog)