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变量,因此显示时报错。

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

多看一行书,就少写一行代码,记录点滴,用心生活。
原文地址:https://www.cnblogs.com/aegisada/p/4403605.html