• jsp四大指令元素,三大脚本元素,八大动作元素


    四大指令元素

    1.页面指令

     页面指令用来定义jsp文件中的全局属性。一个页面可以包含多个页面指令

     1 <%@ page
     2     定义要使用的脚本语言:[language="java"]
     3     需要引入的包:[import="java.util.Date, java.util.ArrayList"]
     4     JSP字符编码,页面响应类型:[contentType="text/html";charset=CHARSET]
     5     指定一个Http回话,该页面是否参与:[session="true|false"]
     6     指定到客户输出缓冲流模式:[buffer="none|8kb|otherBuffSize"]
     7     缓冲区满时,是否刷新:[autoFlush="true|false"]
     8     是否能够多线程:[isThreadSafe="true|false"]
     9     关于jsp页面信息:[info='text']
    10     当前页是否可为其他页面错误讯息页:[isErrorPage="true|false"]
    11     该页面错误时使用的错误信息页:[errorPage="relativeURL"]
    12     [extends="package.class"]
    13     制定EL是否被忽略:[isELIgnored="true|false"]
    14     页面字符编码:[pageEncoding="peinfo"]
    15 
    16 %>

    2.include指令

    1 <%@ include file="jspfilename" %>

     该包含为静态包含,file1包含file2,则将file2的代码插入至file1的指定位置作为一个jspfile,然后再编译。两个文件中变量会复用。

    3.taglib

    我不懂

    4.表达式语言

    参考其他人的吧

    三大脚本元素

    1.声明  <%! %>

    声明是一段java代码,可以用来定义类或方法

     1 <%!
     2 class Student{
     3     private int id;
     4     private String name;
     5     
     6     public Student(){}
     7     
     8     public Student(int id, String name){
     9         this.id = id;
    10         this.name = name;
    11     }
    12     
    13     public String getName(){
    14         return name;
    15     }
    16     
    17     public int getId(){
    18         return id;
    19     }
    20 }
    21 %>

    2.scriplets <% %>

    jsp页面处理请求时执行的代码,可以产生输出,也可以时流程控制语句

    <%
    Student s1 = new Student(1,"pig");
    out.println(s1.getName());
    %>

    2.scriplets <%= some java expression %>

    <%=s1.getId() %>

    八大动作元素

    1.param  <jsp:param name="paramName" value="paramValue">

    jsp:param操作被用来以“名-值”对的形式为其他标签提供附加信息,通常与<jsp:include> <jsp:forward> <jsp:plugin>组合使用。

    2.include <jsp:include page="fiilename" flush="true">

    jsp:include操作允许在请求时间内,让现成的jsp页面中包含静态或动态资源。被包含的对象只有对jsp writer对象的访问权,并且不能设置头或cookie。如果页面输出是缓冲的,那么缓冲区的刷新要优于包含的刷新。

    实例1.

    <!-- copyRight.jsp -->>
    
    <hr/>
    &copy;2012 Slowalker Lee
    <hr/>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ page import="java.util.Date" %>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%=new Date()
    %>
    <jsp:include page="copyRight.jsp"/>
    </body>
    </html>

     实例2.

    主页面

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <jsp:include page="tow.jsp">
        <jsp:param name="name" value="slowalker"/>
    </jsp:include>
    </body>
    </html>

    <!-- 被包含页面 -->
    <%="the parameter is " + request.getParameter("name")%>

    运行结果:

    the parameter is slowalker

    3. <jsp:forward page="filename">

    将请求转发到另一个页面。

    验证登录的例子。

    confirmLogIn.jsp

    <!--confirmLogIn.jsp  登录的主界面-->
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Insert title here</title> </head> <body> <form method="post" action="checkLoginIn.jsp"> <table> <tr> <td>user name:</td><td><input type="text" name="name"></td> </tr> <tr> <td>password :</td><td><input type="password" name="passwd"></td> </tr> <tr><td><input type="submit" value="submit"></td></tr> </table> </form> </body> </html>
    <!--登录检查 后台执行 -->
    <%
    int a = 0;
    try{
        a = Integer.parseInt(request.getParameter("passwd"));
    }catch (NumberFormatException e){}
    if (request.getParameter("name").equals("slowalker") && (a == 123)){
    %>
    <jsp:forward page="success.jsp"></jsp:forward> //账户密码正确,跳转至成功界面
    <%    
    }else{
    %>
    <jsp:forward page="confirmLogIn..jsp"></jsp:forward>  //账号密码不正确,跳转至登录界面重新填写账号密码
    <%
    }
    %>
    <!-- 登录成功界面-->
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <h1>success</h1>
    </body>
    </html>

     4.<jsp:useBean>

        <jsp:useBean id="id" scope="page|request|session|application" typeSpec>

        id:一个大小写相关的名字,在所定义的范围中确认Bean的变量

                                                      /   page:能够在包含<jsp:useBean>标签的JSP文件以及此文件中的所有静态包含文件使用Bean

                                                      |    request:在请求范围内使用有效 request.getAttribute(name)  name是bean实例化的名字

    scope:此对象可使用的范围     {                     session.getValues(name)  name是bean实例化的名字

                                                      |    session:从创建Bean开始,就可以在session有效范围内使用这个Bean,这个Bean对JSP来说是共享的。

                                                          application:从创建Bean开始,就可以在aplication有效范围内使用这个Bean,这个Bean对JSP来说是共享的。

                                                                               application对象在应用服务器启动时创建,直至服务器关闭。

                                                                               application.getAttribute(name) name是bean实例化的名字

                         /    class="className"    bean的类路径和类名,这个class不能是抽象的。必须有一个公用的无参构造器。

                         |    class="className" type="typeName"  使用instantiate方法从一个class中实例化一个Bean,同时可以指定Bean类型

        typeSpec {

                         |    beanName="beanName" type="typeName"

                             type="typeName"

     1 package com.servlet.test;
     2 
     3 public class TestBean {
     4     public String userName;   
     5     public String password; 
     6     public int age;          
     7     
     8     public TestBean() {}     //Bean中必须有一个无参构造器
     9 
    10     public String getUserName() {
    11         return userName;
    12     }
    13 
    14     public void setUserName(String userName) {
    15         this.userName = userName;
    16     }
    17 
    18     public String getPassword() {
    19         return password;
    20     }
    21 
    22     public void setPassword(String password) {
    23         this.password = password;
    24     }
    25 
    26     public int getAge() {
    27         return age;
    28     }
    29 
    30     public void setAge(int age) {
    31         this.age = age;
    32     }
    33     
    34     
    35 }
     1 <!--regisiter.html-->
     2 <!DOCTYPE html>
     3 <html>
     4 <head>
     5 <meta charset="UTF-8">
     6 <title>Insert title here</title>
     7 </head>
     8 <body>
     9 <form method="post" action=register.jsp>
    10 <table>
    11 <tr>
    12 <td>姓名:<input name="userName" type="text"/></td>      <!--此处的userName,password,age必须和Bean中定义的属性的大小写一致-->
    13 </tr>
    14 <tr>
    15 <td>密码:<input name="password" type="password"/></td>
    16 </tr>
    17 <tr>
    18 <td>年龄:<input name="age" type="text"/></td>
    19 </tr>
    20 <tr>
    21 <td><input type="submit" value="submit"></td>
    22 </tr>
    23 </table>
    24 </form>>
    25 </body>
    26 </html>
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <jsp:useBean id="user" scope="page" class="com.servlet.test.TestBean" />
    <!-- 实例化一个名为user的TestBean类的对象,有效范围为本页 -->
    5 //<jsp:setProperty property="*" name="user"/> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9 <title>Insert title here</title> 10 </head> 11 <body> 12 注册成功<hr> 13 <hr> 14 使用Bean的属性方法:<br> 15 用户名:<%=user.getUserName() %> 16 密码:<%=user.getPassword() %> 17 年龄:<%=user.getAge() %> //此处的用户名 密码 年龄均为之前填写的值 18 19 </body> 20 </html>

    关于Bean的猜想:调用一个包含Bean的页面时,<jsp:useBean id="user" scope="page" class="com.servlet.test.TestBean" /> 此句实例化出一个名为user的TestBean对象

     没有搞懂useBean的执行过程

    5.setProperty

    6.getProperty

    7.plugin

    8.fallback

  • 相关阅读:
    bzoj 1025: [SCOI2009]游戏【数学+dp】
    bzoj 1195: [HNOI2006]最短母串【状压dp】
    洛谷 P1083 借教室【二分+差分/线段树】
    bzoj 2151: 种树【贪心+堆】
    bzoj 1055: [HAOI2008]玩具取名【区间dp】
    bzoj 2152: 聪聪可可【点分治】
    bzoj 4552: [Tjoi2016&Heoi2016]排序【二分+线段树】
    bzoj 1103: [POI2007]大都市meg【dfs序+树状数组】
    bzoj 3751: [NOIP2014]解方程【数学】
    bzoj 3612: [Heoi2014]平衡【整数划分dp】
  • 原文地址:https://www.cnblogs.com/slowalker-lee/p/7879355.html
Copyright © 2020-2023  润新知