• java web 开发实战经典(一)


    一、jsp三种Scriptlet(脚本小程序)

    1、<% %>  :定义局部变量、编写语句等。

    <%
      String str = "hello world!";//定义局部变量
      out.println(str);//编写语句
    %>

    2、<%! %>  :定义全局变量、方法和类。(虽然此方可以编写类,但不建议使用。我们一般通过JavaBean的形式调用类)

    <%!
      public static final String INFO = "JAVA Web";//定义全局变量
    %>
    <%!
      public int add(int x, int y){//定义方法
         return x+y;
      }
    %>
    <%!
       class Person{//定义类
       }
    %>
    <%//编写普通脚本
     out.println("INFO");//调用全局变量
     out.println(add(3,5));//调用方法
    %>

    3、<%= %> :输一个变量或一个具体内容

    <%
       String str = "java";
    %>
    <h1><%=str%><h1>//使用表达式输出变量
    <h2><%="java web"%></h2>//使用表达式输出常量

    二、包含

    1、静态包含
    <%@ include file="a.html" %>

    <%@ include file="a.jsp" %>

    2、动态包含

    2.1不带参数

    <jsp:include page="a.html"/>

    <jsp:include page="a.jsp"/>

    2.2带参数

    <jsp:include  page="a.jsp">//向被包含页面传入两个参数

    <jsp:param name="name" value="<%=username%>"/>

    <jsp:param name="info" value="java web"/>

    </jsp:include>

     静态是先包含再处理,动态是行处理后包含,所以我们应该多用动态包含。

    例:a.jsp文件

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <%@ page contentType="text/html;charset=GBK" pageEncoding="GBK" %>
    <%
      int i = 100;
    %>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>page</title>
      </head>
    
      <body class="tundra">
       <h1>jsp-<%=i%></h1>
      </body>
    </html>

    index.jsp

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <%@ page language="java" pageEncoding="GBK"%>
    <%@ include file="a.jsp"%>//静态包含
    <%
       int i=10;
    %>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
        <title>My Web</title>
          </head>
    
      <body class="tundra">
        <div><h1>jsp-<%=i%></h1></div>
          </body>
    
    </html>

    如果用静态加载会报错,因为静态是先合并再处理,当合并后就定义了两个相同的i变量,因此显示时报错。

    但如果是动态是则是先处理后合并,因此可以正常显示两条结果。

    多看一行书,就少写一行代码,记录点滴,用心生活。
  • 相关阅读:
    FZU 1005 Fast Food(dp)
    POJ 3186 Treats for the Cows(区间DP)
    2016郑州轻工业学院校赛 B 蛤玮的财宝
    c++大数模板
    2015轻院校赛 H五子棋
    poj 1015 Jury Compromise
    modbus协议说明(转)
    STM32 flash 内存分布介绍
    STM32 程序所占用空间计算 && FLASH存储的起始地址计算
    C float与char数组 互转
  • 原文地址:https://www.cnblogs.com/aegisada/p/4403605.html
Copyright © 2020-2023  润新知