`

jsp-----语法

阅读更多
1。Scriptlet------script 脚本 let小程序 s所以这个就是脚本小程序

1.1声明
<% ! 
    
%>----可以直接在<%!%>的scriptlet中定义全局常量,编写方法,编写类,但是一般情况下,不会直接在JSP中定义一个类。但是绝对不能再里面写语句

 <%!
   public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
%>  ----最常做的事就是声明全局常量
<%!
   public static int add(int i , int j){
        return i+j;
  }
%> ----定义方法,此操作一般不会经常使用
----------------------------------------------------------------------

1.2。<%= %>---表达式输出
<%=add(10,20)%>
等效于
<% out.print(add(10,20)) ; %>

但是out.print()---一般用在java中,而不是用在jsp中
因为表达式输出分离了java代码和html代码,使得代码错落有致,比较清晰,所以在jsp开发中绝对不可出现out.println()这样的代码

只要页面中显示的是500错误,则表示服务器端的程序出错,此时必须检查代码,所以,必须处理异常
---------------------------------------------------------------------------

2。page指令
  page表示当前一个JSP页面,可以理解为一个对象的本身,即:把一个JSP当作一个对象来看待。
  page指令的主要功能有以下几个:
     1。设置MIME类型
     2。 导包指令
     3。 其他指令:错误页(这个不使用了),禁止session,页面的缓冲等等(这些都不用管)

2.1
案例:现在假设建立一个JSP页面,要求里面设置上中文
范例:显示中文
<h1>中国,你好</h1>
显示结果: 出现了乱码
之所以出现了乱码,是由于本身的页面编码和显示的编码不一致造成的
所以,此时,为了可以显示出正确的编码,那么最好在页面加载的时候就已经可以设置好自己所需要的编码了,此时,就必须使用page指令,编写如下代码
<%@page contentType="text/html;charset=GBK" %>
<h1>你好,中国</h1>
 ---这个相当于让浏览器自动右键--->编码--->gbk为默认显示
但是如果我们的MIME给写错了会出现什么典型的情况?
比如<%@page contentType="test/html;charset=GBK" %>
只要是MIME出错,那么浏览的时候会变成直接下载这个jsp而不是访问这个jsp......很奇怪吧,因为你告诉了浏览器一种不认识的类型,那么浏览器就像我不认识,那么我怎么解读呢,哎,还是交给用户来自己解读把。。所以弹出下载页面

只要合理的应用了MIME类型,则一个页面可以显示成任意风格的形式,例如:现在希望一个JSP页面最终显示成一个word...
word的MIME是:application/msword-----所有的mime类型都可以在conf/web.xml中找到
那么我们在jsp上面可以这样
<%@page contentType="application/msword" %>
.......
那么这个jsp就是一个word.....牛逼啊

2.2 import指令
  import指令是page指令中唯一可以设置多次的指令
<%page import="java.util.*,java.io.*"%>


3.include
他可以将工具信息,头部菜单,尾部菜单放到一个文件中,用的时候包含进来
在jsp中有两种语句
@include
<jsp:include>

3.1@include
该指令属于静态包含,可以包含任意的文件,当然,只是把文件的内容包含进来
比如现在搞三个文件
content.htm
内容是: <h1>content.htm</h1>
content.txt
内容是: <h1>content.txt</h1>

content.abc
内容是: <h1>content.dsfdfs</h1>

然后建立一个页面包他们包含进来
<h1>include/demo01.jsp</h1>
<%@include file="content.htm" %>
<%@include file="content.txz" %>
<%@include file="content.abc" %>

那么相当于把这些文件的内容包含了进来,而且不关心文件到底是什么格式的,都当成文本来搞,其实从字面意思就能理解,他include的东西是一个文件而已

3.2 <jsp:include />
此语句是动态包含,如果被包含的页面时JSP,则先处理之后再将结果包含,而如果包含的是非"*.jsp"文件,则只是把文件内容静态包含,功能与@include类似
此指令对语法要求非常严格,有以下两种形式的语法
语法1: 
<jsp:include page="页面"/>
语法2:
<jsp:include page="页面">
   <jsp:param name="参数名" value="值" />
   .....
</jsp:include>

范例:使用语法一完成与之前类似的功能
<h1>include/demo01.jsp</h1>
<jsp:include page="content.htm"/>
<jsp:include page="content.aba"/>

这个和上面的效果是一样的。。。
下面用语法二,将包含jsp页面,而且向里面传递参数
建立content.jsp,此文件可以接受参数
内容是:
 <h1><%=request.getParameter("ref1") %></h1>
 <h1><%=request.getParameter("ref2")%></h1>
建立includedemo.jsp并向里面传递参数

<h1>hhhhh</h1>
<jsp:include page="content.jsp">
   <jsp:param name="ref1" value="Hello world ref1"/>
   <jsp:param name="ref2" value="hellow world ref2"/>
</jsp>

两种包含的区别:
1。 静态包含:
实验如下:
  有如下的jsp
demo.jsp
<%@page contentType="text/html;charset=GBK" %>
<%
   int i = 1000;
%>
<h1>demo.jsp中i的值是<%=i%></h1>

main.jsp中
<%@page contentType="text/html;charset=GBK" %>
<h1>main页面</h1>
<%
 int i = 10;  //注意:被包含页面中也有这个变量哈
%>
<h2>main中的值为:<%=i%></h2>
<%@include file="demo.jsp" %>

因为<%@include file="demo.jsp" %>只是把这个东西看成是一个普通文件,他不会处理jsp的代码,所以他会先把他全部写到main.jsp中-----先包含然后交给包含页面处理
等效于:

<%@page contentType="text/html;charset=GBK" %>
<h1>main页面</h1>
<%
 int i = 10;  //注意:被包含页面中也有这个变量哈
%>
<h2>main中的值为:<%=i%></h2>
<%@page contentType="text/html;charset=GBK" %> ----包含的是未处理的文件内容
<%
   int i = 1000;
%>
<h1>demo.jsp中i的值是<%=i%></h1>
那么这里可以看到出现了重复的i,那么肯定报错。。。

下面我们使用<jsp:include/>来处理
<%@page contentType="text/html;charset=GBK" %>
<h1>main页面</h1>
<%
 int i = 10;  //注意:被包含页面中也有这个变量哈
%>
<h2>main中的值为:<%=i%></h2>
<include:jsp page="demo.jsp" />
那么他等效于:
<%@page contentType="text/html;charset=GBK" %>
<h1>main页面</h1>
<%
 int i = 10;  //注意:被包含页面中也有这个变量哈
%>
<h2>main中的值为:<%=i%></h2>
<h1>demo.jsp中i的值是10</h1>----他包含的是处理后的内容

4。跳转指令

跳转指令,当一执行此指令时,程序会无条件立即跳转

语法1: 
<jsp:forward page="页面"/>
语法2:
<jsp:forward page="页面">
   <jsp:param name="参数名" value="值" />
   .....
</jsp:forward>

demo.jsp 中
<h1>哈哈</h1>
<jsp:forward page="demo2.jsp" />

demo2.jsp
<h1>哈哈,我是demo2</h1>

运行后就直接跳转了。。。这是服务器端跳转



  
分享到:
评论

相关推荐

    jsp-api-2.1.jar

    这通常意味着在开发环境中,由于缺少JSP相关的库,导致编辑器或构建工具无法识别JSP语法,从而引发错误提示。通过引入这个API库,可以确保开发环境具有运行JSP应用程序所需的依赖,从而消除编译或运行时的错误。 **...

    javax.servlet.jsp-api-2.3.2-b01.jar.zip

    总之,`javax.servlet.jsp-api-2.3.2-b01.jar.zip`提供的API对于Java Web开发至关重要,它允许开发者使用JSP语法进行动态网页编程,并通过`PageContext.setAttribute()`等方法来管理页面数据。保持API的更新是维持...

    精通JSP-Web开发技术与典型应用

    1. **JSP基本语法**:JSP页面由HTML标签、脚本元素和指令组成。脚本元素包括声明、脚本let和表达式,它们分别用于定义变量、执行计算和输出数据。指令如page、include和taglib,用于配置页面属性、引入其他页面和...

    精通jsp-web开发技术与典型应用

    1. **JSP基础**:介绍JSP的基本结构和语法,包括JSP指令(page、include、taglib)、动作元素(jsp:include、jsp:forward、jsp:params等)、脚本元素(scriptlets、表达式、声明)。 2. **JSP内置对象**:如request...

    tomcat-jsp-api/可以让meven直接使用tomcat启动

    在这种情况下,你只需在项目的`pom.xml`文件中添加上面提到的依赖项,然后按照常规方式使用JSP语法编写页面即可。 例如,创建一个简单的JSP页面`index.jsp`: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!...

    JSP语法-----基础篇

    **JSP语法基础篇** **一、JSP基本结构** JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,用于创建动态网页。JSP页面主要由静态内容(HTML)和动态内容(Java程序及相关元素)组成。动态内容包括...

    JSP技术的语法-标签

    **JSP技术的语法-标签** 在Web开发中,JavaServer Pages (JSP) 技术是一种...理解并熟练掌握这些JSP语法和标签对于Web开发至关重要,它们能够帮助开发者创建动态、高效的网页应用程序,同时保持代码的清晰和可维护性。

    Jsp-Api英文文档

    总之,这个Jsp-Api英文文档详细介绍了JSP API的所有方面,包括其基本概念、语法、生命周期、内置对象以及与其他Web技术的交互。阅读并理解这个文档对于提升Java Web开发技能和阅读英文技术文档的能力大有裨益。同时...

    jsp-api文档

    JSP动作是由XML语法表示的,它们控制页面的处理方式,例如包含其他资源、转发请求或操作数据。常用的动作有`&lt;jsp:include&gt;`, `&lt;jsp:forward&gt;`, `&lt;jsp:params&gt;`, `&lt;jsp:useBean&gt;`, `&lt;jsp:setProperty&gt;`等。 5. **...

    JSP-EL表达式.ppt

    JSP-EL 表达式 JSP-EL 表达式是一种用于简化在 JSP 中访问变量的方式的表达式语言,Full Name 称为 Expression Language。JSP-EL 表达式的主要目的是简化静态 HTML 与 Java 代码的耦合,提供了一个灵活的方式来访问...

    jsp - Wiley - Beginning JavaServer Pages

    #### 二、JSP的基本语法 1. **JSP声明(Declaration)**: - 语法:`! %&gt;` - 用途:用于声明变量和方法,这些声明可以在整个JSP页面内使用。 - 示例: ```jsp ! int num = 10; public String getName() { ...

    jsp-2_0-fr-spec-docs.zip_doc_jsp do_jsp-2_0-fr-sp

    1. JSP语法:包括声明(Declaration)、脚本元素(Scriptlet)、表达式(Expression)、指令(Directives)等。 2. EL语言:解释其语法、作用及与JavaBeans的交互。 3. 自定义标签(Tag Libraries):如何创建和使用...

    实验2_Jsp语法 -页面基本结构、指令标记和动作标记

    ### 实验2_Jsp语法 -页面基本结构、指令标记和动作标记 #### 实验概述 本次实验主要聚焦于JSP(JavaServer Pages)的基本语法学习,涵盖了页面的基本结构、指令标记以及动作标记的运用。实验旨在使参与者能够熟练...

    JAVA 开发tot-jsp-cms.zip

    TOT-JSP-CMS可能包含自定义标签库,这些标签可以封装复杂的功能,提供给开发者简洁的语法。例如,可以创建一个用于显示文章列表的标签,这样在JSP页面中只需一行标签代码即可实现原本需要大量Java脚本的逻辑。常见的...

    jsp语法

    jsp语法-------------

    个人作业之JSP---CSS---HTML

    在实践中,可能会遇到的问题包括但不限于:JSP语法错误、HTML结构设计、CSS样式覆盖和选择器优先级等。解决这些问题需要对每个技术有深入的理解,并具备一定的调试技巧。此外,了解MVC(模型-视图-控制器)模式在JSP...

    软件工程1611-JSP-实验三.zip

    2. JSP源代码:展示如何使用JSP语法创建动态页面。 3. Servlet代码:可能与JSP配合,处理业务逻辑或数据访问。 4. 数据库脚本:用于创建实验所需的数据库结构和初始化数据。 5. HTML/CSS/JavaScript文件:可能包含...

    JSP基本语法及由浅入深

    本篇将深入探讨JSP的基本语法以及如何逐步深化对JSP的理解。 ### 一、JSP的基本语法 1. **JSP页面结构**:一个JSP页面由两部分组成,即HTML或XML标记(负责页面布局和静态内容)和JSP指令或元素(负责动态内容和...

    tot-jsp-cms.zip

    了解JSP的基础语法,包括指令(directives)、脚本元素(scriptlets)、表达式(expressions)和声明(declarations),是理解此CMS的关键。 2. Servlet-JSP交互:在TOT-JSP-CMS中,Servlet可能被用来处理HTTP请求...

Global site tag (gtag.js) - Google Analytics