Jsp基本语法

概述

JSP(Java Server Pages) 是基于Java语言的动态网页开发技术,继承了Java所有的优点!一个JSP页面实际上是由Java代码嵌入到HTML中构成的。

JSP页面

在这里插入图片描述
**脚本元素:**用来嵌入Java代码,这些Java代码将转换得到的Servlet的一部分。
下面我们来来看一段代码
在这段代码中JavaBean语法使用错误,因为没有填参数,运行时,可以先删掉,到学到Javabean技术在填上

<%--
  Created by IntelliJ IDEA.
  User: gao
  Date: 2019/9/19
  Time: 9:01
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %>
<%@ page import="java.text.SimpleDateFormat" %>
<html>
<head>
    <title>一个完整的JSP页面</title>
</head>
<body>
<h1>这是一个简单的JSP页面</h1>
<h3>本页面用演示常见的JSP页面元素</h3>
<!--注释 前两句是HTML标签元素-->
<%@include file="header.jsp"%>
<!--上面一行是指令元素,指的是包含-->
<jsp:useBean id="customer" class="" scope=""/>
<jsp:setProperty name="person" property="*"/>
<%!
   String gettime(){
       Date date=new Date();
       SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");
       String day =dateformat.format(date);
       return day;
   }
%>
<%
  String str=gettime();
%>
当前时间是:<%=str%>
</body>
</html>

在这里插入图片描述

JSP注释

HTML注释

<!--注释内容-->

这种注释内容可在查看源文件时看到。我们看一个例子

 <body>
  <!--<%=new Date().toLocaleString()%>>-->
  </body>

在这里插入图片描述
隐藏注释

<%--注释内容--%>
 <body>
  <%--<%=new Date().toLocaleString()%>>--%>
  </body>

在这里插入图片描述
代码注释
这里和Java类似,就不再举例子
//
//*
*/
<%----%>

脚本元素

声明:<%! declaration%> <!--声明-->
表达式:<%=expression%><!--表达式-->
脚本:<%scriptlet%><!--脚本-->
对于这三种我们就一个总的例子,在进行举例

<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <h1>求F(x)=x^3-x-1在闭区间1到1.5内的一个实根,使误差不超过0.005</h1>
<!--脚本部分的部分-->
 <%!
 float Oper(float x){
     return x*x*x-x-1;
 }
 %>
  <%!
  float a;
  float b;
  float c;
  float x;
  %>
  <!--声明的部分-->
  <%
   b=1.5f;
   a=1f;
   c=0.005f;
  while((b-a)>=c||(b-a)<=-c){
      x=(a+b)/2;
      if(Oper(a)*Oper(x)<0)
      {
          b=x;
      }else{
          a=x;
      }
    }
  %>
  <!--表达式-->
  实根为:<%=x%>
  </body>
</html>

运行结果
在这里插入图片描述

指令标识

指令标识主要用于设定整个JSP网页范围内都有效的相关信息,他是被服务器解释并执行的,不会产生任何内容输出到网页中。

格式

<%@ 指令名 属性1=“属性值” 属性2=“属性值2”…%>
指令名:用于指定指令的名称,在JSP中包括 page,include,taglib 3条指令
属性:用于指定属性之间的名称,不同的指令包含不同的属性。在一个指令中可以设置多个属性,个属性之间用逗号或者空格隔开
属性值:用于指定属性值

page指令

page指令定义整个JSP页面的相关属性,这些属性在JSP中被服务器解析成Servlet时会转换成为相应的源代码。

page属性

language:该属性用于设置JSP页面使用的语言
extends:设置JSP页面继承JAVA类
import:导入所需要的类包
pageEncoding:定义文件的编码格式,也就是指定文件编码。
contentType:设置JSP页面的MIME类型和字符编码
session:指定JSP页面是否使用HTTP的session会话对象
buffer:设置JSP的out输出对象使用的缓冲区大小。
autoFlush:设置JSP页面缓存满时,是否自动刷新缓存。
isErrorPage:可以将当前JSP页面设置成错误处理页面。
errorPage:用于指定处理当前JSP页面异常错误的另一个JSP页面。

include指令(先包含在执行)

文件包含指令include是JSP的另一个指令标识。通过该指令可以在一个JSP页面中包含另一个JSP页面,不过该指令是静态包含,即被包含文件原封不动的包含到该JSP页面,即使被包含文件中有JSP代码,在包含时也不会被编译执行。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
欢迎来到我的博客
</body>
</html>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a href="https://blog.csdn.net/qq_41827511"><%@ include file="Demo2.jsp"%></a>
</body>
</html>

taglib指令

在jsp文件中,可以通过taglib指令标识声明该页面中所使用的标签库,并指定标签的前缀。

动作元素

包含文件标识jsp:include(先执行后包含)

jsp的动作标识用于向当前文件页面中包含其他文件。被包含的文件可以是动态的也可以是静态的。
在这里插入图片描述

请求转发标识jsp:forward

格式:
<jsp:forward page=“url”/>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>jspForward</title>
</head>
<body>
<jsp:forward page="Demo3.jsp"/>
</body>
</html>

传递参数表示jsp:param
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.lang.String" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
学习:
<%=request.getParameter("learn")%>
</body>
</html>

格式:
<jsp:param name=“参数名” value=“参数值”/>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<jsp:forward page="AccParam.jsp">
    <jsp:param name="learn" value="爱你"/>
</jsp:forward>
</body>
</html>

原文地址:https://www.cnblogs.com/gaochunhui/p/11700618.html