• 3--jsp编译指令和动作指令


    1.三个编译指令

    1.1page指令(针对当前页面的指令)常用属性

    (1)language:声明当前jsp程序的脚本语言的种类,默认是java

    (2)contentType:设置mime类型,设置生成网页的编码(text/html表明发送给浏览器的是网页数据)

    (3)charset:指定服务器生成网页的编码

    (4)pageEncoding:设置jsp程序本身的编码

    (5)import:倒入java类

    (6)errorPage:表示如果发生异常错误时,网页会被重新指向指定的URL

    (7)isErrorPage:表示此JSP Page 是否为专门处理错误和异常的网页

    1.2include指令(指定包含另一个页面的指令)常用属性

    (1)<%@ include file="要导入的jsp页面或文本文件" %>

    1.3taglib指令(用于定义和访问自定义标签)常用属性

    (1)<%@ taglib prefix="tagPrefix" uri="tagLibraryURI" %>

    2.七个动作指令

    2.1forward指令(将页面转发到另外的页面)常用属性

    (1)不带参数:<jsp:forward page="login.jsp"></jsp:forward>

    (2)带参数:

    (2.1)<jsp:forward page="login.jsp">
        <jsp:param value="xiaoyu" name="username"/>
        <jsp:param value="hello" name="passwd"/>
    </jsp:forward>

    (2.2)<%
        String username = request.getParameter("username");
        String passwd = request.getParameter("passwd");
        out.println(username);
        out.println("<br/>");
        out.println(passwd);
    %>

     2.2include指令(用于JSP程序众包含一个静态【HTML文件,就是将静态文件的内容加入到当前的JSP程序中】或动态【JSP文件,这个被包含的JSP文件还会被JSP引擎执行,然后才会将生成的内容加入到当前的JSP程序中来】文件)常用属性

    静态导入和动态导入区别:

    静态导入是将被导入页面的代码完全融入,两个页面完全融合成一个完整的servlet。静态导入时被导入页面的编译指令会起作用,包括include编译指令和include动作指令中包含静态文件

    动态导入是将servlet中使用include引用被导入页面的内容。动态导入时被导入页面的编译指令会失去作用,只是插入到被导入页面的Body体里,包括include动作指令中包含动态文件

    (1)静态文件:<jsp:include page="body.html"></jsp:include>

    (2)动态文件(可传递参数):

    <jsp:include page="header.jsp">
    <jsp:param value="red" name="bgcolor"/>
    </jsp:include>

    2.3useBean(可以在jsp程序中实例化一个或者若干个javaBean组件,这些被实例化的javaBean组件可以在jsp程序的其它地方被调用)指令常用属性

    javaBean必须被符合的约定:

    (1)有一个公共的默认的构造函数

    (2)所有属性必须通过getter和setter进行访问

    (3)必须都是可序列化的

    package com.xiaoyu.entity;
    
    import java.io.Serializable;
    
    public class UserEntity implements Serializable {
        private String userName;
        private String passWord;
        public UserEntity(){
            super();
        }
        public String getUserName(){
            return userName;
        }
        public void setUserName(String userName){
            this.userName = userName;
        }
        public String getPassWord(){
            return passWord;
        }
        public void setPassWord(String passWord){
            this.passWord = passWord;
        }
    }
    javaBean
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!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=UTF-8">
    <title>录入注册信息</title>
    </head>
    <body>
        <form action="newRegister.jsp" method="post">
        用户名:<input type="text" name="userName"/>
        密码:<input type="password" name="passWord"/>
        <input type="submit" value="提交"/>
        </form>
    </body>
    </html>
    register.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!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=UTF-8">
    <title>注册信息处理</title>
    </head>
    <body>
    <jsp:useBean id="user" class="com.xiaoyu.entity.UserEntity"></jsp:useBean>
    <jsp:setProperty property="userName" name="user"/>
    <jsp:setProperty property="passWord" name="user"/>
    <%
        String username = request.getParameter("userName");
        String password = request.getParameter("passWord");
        out.println(username);
        out.println("<br/>");
        out.println(password);
    %>
    <br/>
    <jsp:getProperty property="userName" name="user"/>
    <jsp:getProperty property="passWord" name="user"/>
    </body>
    </html>
    newregister.jsp
  • 相关阅读:
    Eclipse EE 3.6 failed to create the java virtual machine 解决
    [收藏]家用三线插座(220V单相)正确接线方法
    Java设计模式 Design Pattern:包装模式 Decorator Pattern
    MIME 类型列表
    面试题参考
    循环队列的运用求K阶斐波那契序列
    加密技术仿射密码
    面试题集锦_1
    栈的运用(5)转换逆波兰式
    栈的运用(6)逆波兰式求值
  • 原文地址:https://www.cnblogs.com/BelieveFish/p/6921778.html
Copyright © 2020-2023  润新知