美文网首页
JavaEE-9-JSP

JavaEE-9-JSP

作者: ZzzRicardo_Yue | 来源:发表于2018-09-05 16:16 被阅读0次

    1、JSP的四种基本语法

    生成输出内容

    • JSP注释:<%-- --%>
    • JSP声明:<%! %>
    • JSP输出表达式:<%= %>
    • JSP小脚本:<% %>

    2、JSP三个编译指令

    用于通知JSP引擎

    • page:是针对当前页面的指令
    • include:用于指定包含另一个页面
    • taglib:用于定义和访问自定义标签
      使用上述编译指令的格式:<%@ 编译指令名 属性名="属性值" %>

    3、JSP七个动作指令

    动作指令表示的是JSP运行时的动作
    格式:<jsp:具体的动作指令代码 属性名="属性值" />

    • jsp:forward
    • jsp:param
    • jsp:include
    • jsp:plugin
    • jsp:useBean
    • jsp:setProperty
    • jsp:getProperty

    下面内容写的很辣鸡,随便看看(上面也不怎么样)


    1、JSP原理

    生命周期:

    • 编译阶段:servlet容器编译servlet源文件,生成servlet类
    • 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
    • 执行阶段:调用与JSP对应的servlet实例的服务方法
    • 销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例

    2、简单实例

    jsp代码块中也可以嵌套html元素,如:
    例1:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%! int day = 3; %> 
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    <h3>IF...ELSE 实例</h3>
    <% if (day == 1 | day == 7) { %>
          <p>今天是周末</p>
    <% } else { %>
          <p>今天不是周末</p>
    <% } %>
    </body> 
    </html> 
    

    例2:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%! int fontSize; %> 
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    <h3>For 循环实例</h3>
    <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
       <font color="green" size="<%= fontSize %>">
        菜鸟教程
       </font><br />
    <%}%>
    </body> 
    </html> 
    

    3、使用include包含其他的JSP文件

    写两个文件date.jspmain.jsp
    date.jsp文件代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <p>
       今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
    </p>
    

    main.jsp文件代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    <h2>include 动作实例</h2>
    <jsp:include page="date.jsp" flush="true" />
    
    </body>
    </html>
    

    现在将以上两个文件放在服务器的根目录下,访问main.jsp文件。显示结果如下:


    结果

    <jsp:include page="date.jsp" flush="true" />flush="true"表示在包含资源前刷新了缓存区。

    4、在JSP中使用JavaBean类

    一个JavaBean类:

    public class TestBean {
       private String message = "菜鸟教程";
     
       public String getMessage() {
          return(message);
       }
       public void setMessage(String message) {
          this.message = message;
       }
    }
    

    编译以上实例文件 TestBean.java :
    $ javac TestBean.java
    编译完成后会在当前目录下生成一个TestBean.class文件, 将该文件拷贝至当前 JSP 项目的 WebContent/WEB-INF/classes/com/runoob/main 下( com/runoob/main 包路径,没有需要手动创建)。
    下面是一个 Eclipse 中目录结构图:

    文件位置
    接着让我们在main.jsp文件中调用该Bean:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    <h2>Jsp 使用 JavaBean 实例</h2>
    <jsp:useBean id="test" class="com.runoob.main.TestBean" />
     
    <jsp:setProperty name="test" 
                        property="message" 
                        value="菜鸟教程..." />
     
    <p>输出信息....</p>
     
    <jsp:getProperty name="test" property="message" />
    
    </body>
    </html>
    
    • 注意上面这里<jsp:useBean id="test" class="com.runoob.main.TestBean" />表示使用使用这个JavaBean类,并且设了一个id为test(这个id后面有用)
    • 接着,
    <jsp:setProperty name="test" 
                        property="message" 
                        value="菜鸟教程..." />
    
    • 这里的name属性的值与之前的id相同,然后指定改变TestBean中的message属性的值为“菜鸟教程···”
    • 注意jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty

    5、其他JSP元素

    <jsp:forward page="相对 URL 地址" />

    把请求转到另外的页面

    6、JSP隐式对象

    相关文章

      网友评论

          本文标题:JavaEE-9-JSP

          本文链接:https://www.haomeiwen.com/subject/lnbowftx.html