zoukankan      html  css  js  c++  java
  • JSP 的脚本,指令,动作

    JSP 脚本元素 
    Java代码  收藏代码
    1. 表达式:<%= xx%>  
    2. Scriptlet:<% xxx %>  
    3. 声明  :<%!xxx %>    


    表达式 的概念 
    Java代码  收藏代码
    1. 1.是对数据的显示,系统将其对作为一个值进行计算并显示  
    2. 2.不能以 分号 " ; " 结尾  
    3. 3.表达式的值 直接嵌入到html页面即可以直接在浏览器中输入结果  

    Html代码  收藏代码
    1. <body>  
    2.     <h1>JSP 表达式</h1>  
    3.     <b>pi的值</b><%=Math.PI %>   <br/>   
    4.     <b>110,119中最大的值</b><%=Math.max(110,119)%>   <br/>    
    5.     <b>110,119中最小的值</b><%=Math.min(110,119)%>   <br/>   
    6.     <b>3+2-5的值</b><%=3+2-5%>   <br/>   
    7.     <b>(3+2)==5的值</b><%=(3+2)==5%>   <br/>    
    8.     <b>(3+2)!=5的值</b><%=(3+2)!=5%>   <br/>     
    9.   </body>  


    JSP ScriptLet 
    Java代码  收藏代码
    1. 1.就是在JSP页面嵌入 java脚本  

    Html代码  收藏代码
    1. <body>  
    2.  <%   
    3.         String name="toy";   
    4.         System.out.println(name); //打印到 控制台 去了哦!  
    5.           
    6.         //打印到 页面中去  
    7.         for(int i=1;i<10;i++){  
    8.             for(int j=0;j<i;j++){  
    9.                 out.println(j);  //调用 jsp的 out对象  在页面上显示了哦  
    10.             }  
    11.             out.println("<br/>");  
    12.         }  
    13.      %>  
    14. </body>  


    JSP 声明 
    Java代码  收藏代码
    1. 1.就是在JSP中声明 java 的方法和 变量 (用于定义JSP代表Servlet的成员变量和方法名)  
    2. 2.JSP的声明的变量 是针对所有的请求,且生命周期是整个WEB应用程序  

    Html代码  收藏代码
    1. <body>  
    2. <%!  
    3.       // 声明 servlet中的 成员变量和方法  
    4.         int numTimes=3;  
    5.           
    6.         public String sayHello(String name){  
    7.            return "Hello  "+name+"!";  
    8.         }  
    9.       %>  
    10.        <br/>  
    11.       <%  
    12.          //每刷新页面一下  numTimes就会累加 这样说明是 成员变量  
    13.          //而且 说明 JSP (servlet) tomcat启动的时候  就只实例化一次 然后被缓存起来了 所以  这个变量 就会一直累加  
    14.         out.println(numTimes);  
    15.         numTimes++;  
    16.         out.println("<br/>");  
    17.         out.println(sayHello("admin"));  
    18.        %>  
    19.   </body>  


    JSP 的指令 
    Java代码  收藏代码
    1. 1.page  
    2. 2.include  
    3. 3.taglib  
    4. 语法为:  
    5. <%@ 指令名称  属性1="值1" .....%>  


    page 指令 
    Java代码  收藏代码
    1. 1.用于设置JSP的属性  
    2. 2.<%@ page contentType="text/html;charset=GBK" %>  

    language 定义要使用的脚本语言,如果在将来的JSP容器支持 多种语言可以使用它 "java"
    import 定义以","分割的类或者包名的列表,就像通常在java代码中使用的import语句那样
    pageEncoding 指定JSP文件本身的字符集编码 GBK
    contentType 定义JSP字符编码方法和JSP页面响应的MIME类型 cha'tset=iso-8859-1
    isErrorPage 表示当前页面作为 错误页面 true ,false
    errorPage 定义处理异常的JSP页面 error_url
    isELIgnored 设置是否忽略JSP页面中的EL表达式的执行 "fasle"
    session 指定这个页面是否参与一个HTTP会话 "true"

    include 指令 
    Java代码  收藏代码
    1. 1.用于在运行时将html 或者 JSP 嵌入到另一个 JSP 页面  
    2. 2.先合并,再编译  

    Html代码  收藏代码
    1. <body>  
    2.   <%@ include file="/head.jsp" %>   
    3.        <%=basePath%><br/>  
    4.        <b>嵌套的页面中不能 在 脚本中 定义 父页面 相同的 变量 否则会报错</b>  
    5.        <b>嵌套的页面 中能用父页面中的变量</b>  
    6.        <b>父页面中可以 用 子页面中的变量</b>  
    7. </body>  


    taglib 指令 
    Java代码  收藏代码
    1. 1.可以让JSP页面使用 标签  
    2. 2.是在JSP页面中,将标签描述符文件引用到该页面中,并且 设置前缀,利用前缀 使用标签文件中的标签  

    Html代码  收藏代码
    1. <body>  
    2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>  
    3.   
    4. </body>  


    JSP 的动作 
    JSP 动作的介绍 
    Java代码  收藏代码
    1. 在该JSP被翻译成Servlet源代码的过程中,当容器遇到标准动作元素时,就调用与之对应的Servlet的方法来替代它,所有标准动作元素的前面都有一个JSP前缀作为标记,一般形式如下:  
    2. <jsp:标签名 ...属性.../>  

    Java代码  收藏代码
    1. 1.<jsp:userBean>:在JSP中定义使用一个JavaBean的实例  
    2. 2.<jsp:setProperty>: 设置一个JavaBean的属性  
    3. 3:<jsp:getProperty>:从JavaBean中获取一个属性值  
    4. 4:<jsp:include>:在JSP页面包含一个外部的文件  
    5. 5:<jsp:forward>:把到达的请求转发另一个页面进行处理  
    6. 6:<jsp:param>:用于传递参数值  
    7. 7:<jsp:plugin>:用户在指定的客户浏览器中插入插件的属性  
    8. 8:<jsp:params>:用户向HTML页面的插件传递参数值  
    9. 9:<jsp:fallback>:指定如何处理客户点不支持插件运行的情况  
    10. 10<jsp:root>:  
    11. 11<jsp:declaration>:  
    12. 12<jsp:scriptlet>:  
    13. 13<jsp:expression>:  
    14. 14<jsp:text>:  
    15. 15<jsp:output>:  
    16. 16<jsp:attribute>:  
    17. 17<jsp:body>:  
    18. 18<jsp:element>:  
    19. 19<jsp:invoke>:  
    20. 20<jsp:doBody>:  


    JSP的标准动作的分类 6组 
    Html代码  收藏代码
    1. 1.jsp中使用大JavaBean的标准动作<jsp:userBean>定义一个使用JavaBean,实例,ID属性定义实例名称,<jsp:getProperty> 从一个JavaBean中获取一个属性值,并将其添加到响应中;<jsp:setProperty> 设置一个JavaBean的属性  
    2.   
    3. 2.在jsp中包含其他jsp文件或者web资源的标准动作,<jsp:include> 在请求处理阶段包含来之一个Servlet或者jsp文件的响应,注意和include指令不同  
    4.   
    5. 3.将到达的请求 转发到另一个jsp页面或者web资源,以便进行下一步的操作的标准动作,<jsp:forward>   
    6.   
    7. 4:在其他标准动作中间指定参数的标准动作,<jsp:param>对使用<jsp:include> 或者 <jsp:forward>传递到另一个Servlet和jsp页面请求添加一个传递参数  
    8.   
    9.   
    10. 5.在客户端的页面嵌入java对象 (例如 applet,是运行在客户端的小java程序)的标准动作  
    11. <jsp:plugin>根据浏览器类型为java插件生成 Object或者 Embed标记 <jsp:params><jsp:fallback>  
    12.   
    13. 6.仅仅用户标记文件的标准动作  
    14.  <jsp:attribute>  <jsp:body> <jsp:invoke>  <jsp:dobody> <jsp:element> <jsp:text> <jsp:output>  


    <jsp:userBean> 
    Html代码  收藏代码
    1. <jsp:useBean id=”name” class=”package.class” scope=”….” type=”…”/>  
    2. id:给一个类实例取名并且作为整个JSP页面的唯一标记,如果需要创建一个新的JavaBean,这也是引用这个JavaBean的实例的名称  
    3.   
    4. class:javaBean组将的完整java类名,,一定要包括包名,如果容器没有找到指定的类实例,则会根据这个class属性指定的完整类名来创建一个新的javaBean的实例进行引用  
    5.   
    6.  type:告诉容器这里的javaBean实例需要实现 一个Java接口或者一个 超类,class和type 必须选其中一个  
    7.   
    8.  scope: 这个这个JavaBean的在那种上下文中可用,page(PageContext):在当前页面  request(ServletRequest):请求方法, session(httpSession)会话范围,appliaction 应用程序范围.  


    <jsp:setProperty> 
    Html代码  收藏代码
    1.  1:  
    2. <jsp:userBean id="myName" ...>  
    3.    <jsp:setProperty name="myName" property="someProperty" .../>  
    4. </jsp:userBean>  
    5.   
    6.  2.  
    7.  <jsp:userBean id="myName" ...>   
    8.  <jsp:setProperty name ="myName" property="somePropery" .../>  
    9.   
    10. name:是必须设置 知道是javaBean的名称  
    11.   
    12. property:必须的,指定对javaBean 的属性中那些值进行设置,有个特殊的用法 "* "表示在设置所有名字与javaBean 属性名称匹配的请求参数都被传递到相应属性的get方法  
    13.   
    14. value:指定属性的值  
    15.    
    16.  param:这个属性 和value 不能同时使用,只能用一个, 如果都没有使用,就会为 使用javaBean中的默认值,如果使用property属性,容器就会把property指定的属性变量设置为param指定的请求的参数值.  


    <jsp:setProperty> 
    Java代码  收藏代码
    1. name:表示javaNean在jsp中的标记  
    2. property:表示提取javaBean中那个属性的值  


    Html代码  收藏代码
    1. <jsp:userBean id="testBean" class="com.helloworld.SimpleBean">  
    2.    <jsp:setProperty name="testBean" property="message" value="Hello"/>  
    3. </jsp:userBean>  
    4.   
    5. <h1>取值/h1>  
    6. <jsp:getProperty name="testBean" property="message"/>  
    7.   
    8. <h1>重新赋值</h1>   
    9. <jsp:setProperty name="testBean" property="nessage" value="hello World" >  
    10.   
    11. <h1>使用EL表达式取值</h1>   
    12. ${testBean.message}  


    <jsp:include> 
    Java代码  收藏代码
    1. <jsp:include page="...URL..." flush="true|false"/>  
    2.    
    3. <jsp:include page=" ...URL... flush="true|false">  
    4.   <jsp:param ..../>  
    5. </jsp:include>  


    include指令 和include动作的差别 
    (有的称为 动态导入 和  静态导入) 
    Java代码  收藏代码
    1. 1.语法不同   
    2.   指令: <%@ include file="..url.." %>  
    3.   动作: <jsp:include page="..url" />  
    4.   
    5. 2. 编译合并顺序不同  
    6.   指令:先合并后在进行一起编译  (只有一个编译文件)  
    7.   动作:单独编译 然后合并 编译后的二进制文件 (会有多个编译文件)  
    8.   
    9. 3.变量的使用  
    10.   指令:不能定义 父页面的 同名变量 ,可以修改 和使用 父页面的变量,父页面也可以使用子页面的变量   
    11.   动作:能定义 父页面的同名变量 ,不可以修改和使用 父页面的变量.父页面不能使用 子页面的变量  
    12.   
    13. 4.变量的作用域  
    14.   指令:会延长 父页面变量的生命周期 注意 变量的值的变化   
    15.   动作:不会影响变量的作用域和值  
    16.   
    17. 5.编译报错  
    18.   指令:使用 父页面的变量的时候 子页面会报编译异常,页面前面会有 "红叉叉"(但是能正常使用,可以忽略)  
    19.   动作:不会有编译异常   


    <jsp;forward> 
    Html代码  收藏代码
    1. <jsp:forward page="/util/errorPage.jsp">  //一个相对的路径  
    2. <jsp:forward page="<%=someJavaExpression%>">  // 一个 动态值  


    <jsp:param> 
    Html代码  收藏代码
    1. 一般与<jsp:include > 和<jsp:forward> 一起使用  
    2. lt;body>  
    3.  <jsp:include page="date.jsp">  
    4.      <jsp:param name="" value=""/>  
    5.  </jsp:include>   
    6. lt;/body>  


    <jsp:plugin> 
    Java代码  收藏代码
    1. <jsp:plugin type=" ..applet 或者  javaBean " code=""  codebase="" archive=" ." >  
    2. </jsp:plugin>  
    3.   
    4. type:用来指定 该插件是applet 或者 javaBean  


    <jsp:params> 
    Html代码  收藏代码
    1. <body>  
    2.    <jsp:plugin type="applet|JavaBean" code="">  
    3.      <jsp:params>  
    4.         <jsp:param name="" property=""  value=""/>  
    5.         <jsp:param name="" property=""  value=""/>  
    6.         <jsp:param name="" property=""  value=""/>  
    7.      </jsp:params>  
    8.    </jsp:plugin>  
    9. </body>  


    <jsp:fallback> 
    Html代码  收藏代码
    1. <jsp:fallback>  
    2.    客户端不支持插件运行时候显示的 html和 jsp 代码  (只有客户端不支持的时候才能运行)  
    3. </jsp:fallback>  
     
  • 相关阅读:
    【坑】提答题
    Google Code Jam 2014 Round2
    湖北省队互测Week1
    [xyz模拟题]动态维护树的直径
    音乐会的等待【单调栈】
    51nod1202【DP-树状数组维护】
    51nod1113【矩阵快速幂】
    51nod1255【贪心-栈的应用】
    Lightoj1059【最小生成树】
    SPOJ IAPCR2F 【并查集】
  • 原文地址:https://www.cnblogs.com/jifeng/p/2941179.html
Copyright © 2011-2022 走看看