CNET JSP BASIC:JSP语法的基本原理

安装之後,接下来我们要讨论JSP的语法.如果要偷懒,你可以下载语法卡 而如果你不熟悉 Java的程式设计,你可能会想要参考Sun的使用手册;然而,网站建立者不应该做太多的Java发展.除了几个函式呼叫之外,出现在你JSP网页上的Java程式码应该将它减到最少;
记住这点之後,现在让我们先来看看JSP的编译器指引与指令元件,之後我们将解释JavaBeans与内部物件. JSP编译器指引与指令元件有五种型态.JSP 1.0之後,大部分的JSP是包含在以<% 作为开始%>作为结束的单一标签里.新的 JSP 1.1规格已经发表了,它同时也与XML相容.
 

JSP的编译器指引与指令元件
编译器指引 <%@ 编译器指引 %>
宣告 <%! 宣告 %>
运算式 <%= 运算式 %>
程式码片段/小型指令 <% 程式码片段 %>
注解 <%-- 注解 --%>

编译器指引
JSP的编译器指引是针对JSP引擎。它们并不会直接产生任何看得见的输出;相反的,它们是在告诉引擎如何处理其他的JSP网页。它们永远包含在 <%@ ?%>标签里。两个主要的指引是 page与include。我们不会讨论taglib编译器指引但它可以在JSP1.1里用来建立自订标签。

你几乎可以在你所有的JSP网页最上面找到page编译器指引。虽然这不是必须的,但它可以让你指定到哪里可以找到支援的Java类别这类的事:
<%@ page import="java.util.Date" %>,

当发生Java问题的事件时应该将讯息传送到哪里:
<%@ page errorPage="errorPage.jsp" %>,

以及你是? 要为使用者管理通话期的资讯,可能存取多个网页(稍後在JavaBeans里会有更多通话期的讨论):
<%@ page session="true" %>。

include编译器指引让你将你的内容分成几个可管理的元件,就像那些有表头或注脚的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页:
<%@ include file="filename.jsp" %>。

宣告
JSP宣告让你定义网页层的变数,来储存资讯或定义支援的函式,让JSP网页的其馀部分能够使用。如果你发现自己有太多的程式码,你最好将它们放在不同的Java类别里。你可以在 <%! ?%>标签里找到宣告。记住要在变数宣告的後面加上分号,就跟任何有效的Java叙述的形式一样: <%! int i=0; %>。

运算式
JSP里有运算式,评估运算式的结果可以转换成字串并且直接使用在输出网页上。JSP运算是属於 <%= ?%> 标签里,并不包含分号,加引号字串的无用部分。

<%= i %>
<%= "Hello" %> 。

程式码片段/小型指令档
JSP程式码片段或小型指令档是包含在<% ?%> 标签里。当网络服务器接受这段请求时,这段Java程式码会执行。小型指令档可以是原始的HTML或XML,其内部的程式码片段可以让你建立有条件的执行程式码,或者只是一些使用另一块程式码的东西。举例来说,下列的程式码结合了运算式与小型指令档,在H1,H2,H3,以及H4标签里显示字串"Hello"。小型指令档不限於一行的原始程式码 :

<% for (int i=1; i<=4; i++) { %>
<H<%=i%>>Hello</H<%=i%>>
<% } %>。

注解
最後一个主要JSP元件是嵌入式注解。虽然你可以在你的档案里包含HTML注解,如果使用者检视网页的原始码,他们也会看到这些注解。如果你不要让使用者看到你的注解,你可以将它放在<%-- ?--%>标签里:

<%-- 针对伺服端的注解 --%>。

时间: 2024-10-03 09:06:20

CNET JSP BASIC:JSP语法的基本原理的相关文章

CNET JSP BASIC:JSP的内部对象

最後一个与JSP语法有关的元件叫做内部物件.在JSP小型指令档内,你可以存取这些内部物件来与执行JSP网页的servlet环境相互作用.许多对内部物件的存取应该要简化.然而,这些是范例,它们的存取都是可接受的,要完整的利用内部物件设定则 要对最新的Java Servlet API有所了解. 下表列出你可以使用的内部物件.      内部物件说明 request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这

CNET JSP BASIC:JSP与JavaBean

虽然你可以在小型指令档里放入一大块的程式码,但是大多数的Java程式码是属於可以重复使用的元件,称为JavaBean.JavaBean就跟ActiveX控制项一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的.  JavaBean的¤值在於它可以经由一组特性来使用,而这些特性则提供对JavaBean设定的存取.以人来作范例,此人就是JavaBean,而他的姓名,社会福利安全号码,以及住址可以是特性.对於JSP网站,基本上你是将'JavaBean'动态的连接到你的网站. 假设Java

jsp标签-jsp中关于“/”的含义

问题描述 jsp中关于"/"的含义 求解释.中的/有什么含义?老是忘记写这个,然后报错 解决方案 路径,或者标记一些转意字符 解决方案二: 你说的是结束后面的""/"" ? 这是语法, <jsp:param></jsp:param> 等价与 <jsp:param /> 在路径中指的是根目录,有时候还是转移字符 解决方案三: 就是一个结束标签,,,

如何深入学习JSP?JSP学习方法|教程

常规JSP JSP页面最终会由容器来生成Servlet类的,比如Tomcat容器生成JSP的Servlet类放在work目录里.因此在JSP里可以用很多简化的语法供容器使用,这篇就来整理一下. JSP语法     scriptlet:<% %>     可以在里面写Java代码,如<%out.print("27");%>:     指令:<%@ %>     可以在页面转换时向容器给出特殊的指示:它有三个指令:page.include和taglib:

jsp问题-jsp中模糊查询,后台没有出错,为什么实现不了?

问题描述 jsp中模糊查询,后台没有出错,为什么实现不了? 点击查找只是刷新页面,后台没有问题,但是又实现不了 具体代码: <% request.setCharacterEncoding("utf-8"); %> <%! private static final String DBDRIVER ="org.gjt.mm.mysql.Driver"; private static final String DBURL ="jdbc:mysq

js组件 jsp问题-jsp通过js调用另一个jsp

问题描述 jsp通过js调用另一个jsp 一个jsp调用通过js调用另一个jsp界面 界面出来了 但是内容无法显示 永远是一个Loading... 解决方案 你怎么调用的,那个页面又是怎么实现的.如果代码不是你写的,谁写的问谁.你完全一窍不通. 解决方案二: 永远是一个Loading... 如果页面确实已经调用成功,而一直显示Loading...,说明你新打开的页面有问题,而不是你的js有问题. 解决方案三: 在JS中调用JSP中的变量一个jsp引入另一个jspjsp button事件调用js

jsp计数器-jsp文件

js|计数器 <HTML> <HEAD> <TITLE>JSP Bean Example</TITLE> </HEAD> <BODY> <!-- Set the scripting language to java --> <%@ page language="java" %> <!-- Instantiate the Counter bean with an id of "

sitemesh装饰一个用&amp;amp;lt;jsp:include&amp;amp;gt;包含另一个jsp页面jsp页面,不能正常显示

问题描述 sitemesh装饰一个用<jsp:include>包含另一个jsp页面jsp页面,不能正常显示 用sitemesh装饰jsp页面,被装饰的jsp页面中用jsp:include包含另一个jsp页面,最终不能正常显示内容.首先我将sitemesh2.4.2.jar包导入到项目的lib包中,之后编写我的装饰页面,页面很简单: <%@ page language=""java"" contentType=""text/htm

httpclient4.5请求jsp时jsp上的jstl标签&amp;amp;lt;fmt:formatDate&amp;amp;gt;不会格式化日期

问题描述 httpclient4.5请求jsp时jsp上的jstl标签<fmt:formatDate>不会格式化日期 httpclient4.5请求jsp时jsp上的jstl标签fmt:formatDate不会格式化日期,浏览器访问相同url能正常格式化日期. jsp代码 <%@ taglib prefix=""c"" uri=""http://java.sun.com/jsp/jstl/core""%>