您的位置 首页 java

知了堂|Java中的JSTL与EL表达式

一、 jsp

知了堂|Java中的JSTL与EL表达式

1、基本介绍

  • 什么是JSP?
    从用户的角度看,就是一个网页,从程序员的角度看,其实就是一个Java类,它继承了 Servlet ,所以可以直接说jsp就是一个servlet。
  • 为什么会有JSP?
    html 多数情况下用来显示静态内容,一成不变的,但是有时候我们需要在网页上显示一些动态数据,比如,查询所有学生信息。这些动作都需要查询数据库,然后在网页上显示,html不支持写java代码,jsp里面可以写jsp

2、怎么用JSP?

  • JSP三大指令
 格式:<%@ 指令名字 %>
1、page指令(里面的一些属性):
    language:表面里面可以写什么语言    
    contentType="text/html;charset=UTF-8":告诉浏览器我们是内容类型,以及用的什么编码
    pageEncoding:jsp内容编码
    extends:jsp翻译成java时候,继承的父类是谁,一般不用写
    session:可选值有true和false,用于控制这个jsp页面里面,是否可以直接使用 session 对象
    errorPage:如果当前页面发送错误,值会跳转的路径
    iserrorPage:指明当前路径是不是错误页面
2、 include 指令(包含一个页面):
    写法:<%@include file = "页面名字" %>
    背后细节:把另外一个页面的所有内容拿过来一起输出,所有的标签元素都包含进来输出。
3、taglib指令(引入标签库)
    写法:<%@ taglib prefix=" "  uri = " " %>     
    uri:标签库路径
    prefix:标签库别名  

JSP的常用动作标签

 <jsp:include page="页面路径"></jsp:include>:jsp包含的页面路径,这边包含进来的页面只是把在执行完的经过传进来,而不是把元素标签一起传进来输出
<jsp:forward page="页面路径"></jsp:forward>:跳转到哪一个页面,相当于请求转发
<jsp:param name="" value=""></jsp:param>:包含在某个页面的时候,或者在跳转在某个页面的时候,加入这个参数,通常写在上面两个标签之间,在跳转到的页面用request.getParamter("")接收  

JSP9大内置对象

 介绍:
      所谓内置对象,就是我们可以直接在jsp页面中使用这些对象。不用创建,在<% %>里面
9大内置对象
  四个域对象:
      什么是域对象:表示这些对象可以存值,他们的取值范围有限定,存取值都是通过setAttribute()和getAttribute()
       pageContext (是pageContext类型):作用域只限定于当前页面,用这个对象可以拿到其他的八个对象
      request(是HttpServletRequest类型):作用域仅仅限于一次请求(用请求转发就可以可以在页面中传值,重定向不可以),重定向不可以是因为:只要服务器对该请求作出了响应,这个域中存的值就没有了
      session(是httpSession类型):作用域仅仅限于一次会话。会话:简单来说打开浏览器,访问服务器,直到浏览器关闭,称为一次会话
      application(是ServletContext类型):整个工程都可以使用,服务器关闭之后就不可以用了
  2个使用频率一般的对象:
      response(是HttpServletResponse类型):直接输出,response.getWrite().write("")
      out(是JspWriter类型):这个对象输出要先把内容防止response的缓冲区去,再输出,out.write(" ")
      注意:所以,当这两个对象在同一个页面的时候,要先输出response的数据,再输出out的数据
  3个其他对象:
      exception(是Throwable类型)
      page(是object类型):就是这个jsp翻译成的java类的实例对象
      config(是ServletConfig类型)  

二、EL表达式(取值和比较值)

1、基本介绍

产生:是为了简化咱们的jsp代码,具体一点就是为了简化在jsp里面写的那些Java代码格式:${表达式}

2、怎么用

  • 取值
 1、使用EL表达式取出作用域中的值:
  pageContext.setAttribute("name","page")
  普通手段取值:<%= pageContext.getAttribute("name") %>
   EL 表达式取法:${pageScope.name}
2、使用EL表达式取出作用域中数组的值:
  <%String[ ] a ={"aa","bb","cc","dd"};pageContext.setAttribute("array",a); %>
  EL表达式取值:${array[0] }
3、使用EL表达式取集合中的值:
  <%List list = new ArrayList();list.add("11");   pageContext.setAttribute("li",list)%>
  EL表达式取值:${li[0] }
4、使用EL表达式取出集合中的值:
  <%Map map = new  HashMap (); map.put("name","zhangsan");map.put("address.a","深圳");pageContext.setAttribute("map",map);%>
  EL表达式取值:${map.name},   ${map["address.a"]}
注意:
  ${name}:表示先从page里面找,没有的话之后request,session都没有的话最后去appplication里面找
  ${pageScope.name}:表示去特定的pageContext去找
  取值方式:如果这份值有下标,直接使用[],如果这份值没有下标,直接使用 .  的方式去取  

 data = pd.read_csv( '#39;) print(data.head())  

EL表达式的11个内置对象

 取值格式:${对象名.成员}
四个作用域相关对象:
      pageScope
      requestScope
      sessionScope
      applicationScope
两个请求头相关对象:
       header 
      headerValues
两个请求参数相关对象:
      param
      paramValues
其他:
       cookie 
      initParam:可得到全局初始化参数
      pageContext  

三、 JSTL

 java standard Tag Library,简化jsp的代码编写,本身是为了替换<% %>写法,一般与EL表达式配合  

怎么使用?

  • 导入
 步骤:
  1、导入jar文件到工程(jstl.jar和standard.jar)
  2、在jsp页面上,使用taglib指令,来引入标签库
  3、注意:如果想支持EL表达式,那么引入的标签库必须选择1.1版本,1.0的版本不支持EL表达式  

常用标签

 c:set  储存一个值到作用域当中  写法:<s:set></c:set>
c:if  判断
c:forEach  遍历  

简单测试:

JSTL与EL整合测试

简单测试:

知了堂|Java中的JSTL与EL表达式

输出:

知了堂|Java中的JSTL与EL表达式

总结

这里介绍了jsp的基本,三大指令,常用动作标签,以及九个内置对象;还介绍了EL表达式,他就是为了简化jsp里面的Java代码而生,这里介绍了他如何取值,以及它的11个内置对象,它的两大作用就是取值和比较;最后介绍了JSTL,就是一个标签库,也是为了简化jsp的代码而生,还介绍了他的一些常用标签。

文章来源:智云一二三科技

文章标题:知了堂|Java中的JSTL与EL表达式

文章地址:https://www.zhihuclub.com/198012.shtml

关于作者: 智云科技

热门文章

评论已关闭

4条评论

  1. There should be back pain blood pressure no way to do that My husband has no issues and so they thought it was perfect time for IUI

  2. Earlier studies in mouse embryo fibroblasts MEF with wild type p53 or p53 deletion demonstrated that the E1A mediated sensitization to apoptosis induced by ionizing radiation and several chemotherapeutic agents 5 fluorouracil, etoposide, and doxorubicin depends on the expression of functional p53 tumor suppressor, as treatment with E1A expressing cells lacking p53 had little or no effect on viability The embattled slugger, on the field hours after appealing a 211 game suspension related to the Biogenesis PED scandal, grounded out to third, finishing 1 for 5 with a walk, He went 3 for 11 with two walks and a hit by pitch in his first series back from offseason hip surgery as the Yankees fell to 0 3 since his return

网站地图