JSP由浅入深(5)—— Scriptlets和HTML的混合

在前面的教程中我们已经在一个scriptlet中使用了“out”变量来产生HTML输出。对于更复杂的HTML,如果我们还是使用“out”变量那就会失去JSP编程的许多优势。其实我们可以很简单地就实现Scriptlets 和 HTML的混合。

假如你要在HTML产生一个表格。产生表格是一个普通的操作,在实践中你可能想从一个SQL表格或者从文件的行产生一个表格。为了是所举的例子尽量的简单,我们产生一个表格,使这个表格包含从1到N的数字。虽然以下的例子不是很有用,但是你从中可以学到一些技巧的。以下就是JSP的程序片段:

<TABLE BORDER=2>

<%

for ( int i = 0; i < n; i++ ) {

%>

<TR>

<TD>Number</TD>

<TD><%= i+1 %></TD>

</TR>

<%

}

%>

</TABLE>

在编制代码之前,你应该首先定义一个整型(int)变量“n”,利用这个变量我们要输出“n”行的表格。从上面的代码中我们可以注意到%> 和 <%字符出现在“for”循环中,原来这是为了使你退到HTML然后又回到scriptlet,其实这正是Scriptlets 和 HTML的混合的技巧。

上面的代码其实很简单:可以退出scriptlet的时候,就编写HTML;然后又回到scriptlet中去。任何的循环控制表达式,比如“while”或者“for”循环以及“if”语句都可以控制HTML。如果HTML处在一个循环中它就会在每一次的循环中执行一次。

(0)

相关推荐

  • JSP技术生成动态web页面

    随着WEB技术的发展,WEB内容从一些静态的页到内容丰富的动态页.对于广大WEB开发人员来讲动态页面的生成是一个挑战.有许多的方法来试图解决这个问题,如plug-in技术及基于服务器端的APIs等方法,但存在的一个问题是这些方法是针对某个特定的web服务器,如Microsoft提供的ASP技术就只针对它的IIS及Personal web服务器. 目前用于生成动态网页较为流行的方法有CGI.PHP及JavaServer Page(JSP)技术等.其中:CGI通过访问其它应用程序来获取信息并返回给浏

  • Jsp结合XML+XSLT将输出转换为Html格式

    我们知道 XML+XSLT就可以直接输出到支持XML的浏览器上,如IE 5.0以上,但是,我们还要考虑到有不少浏览器不直接支持XML,在这种情况下,我们需要在服务器上进行转换成html输出到浏览器,这种临时过渡办法恐怕要在一段时间内一直要使用. 使用Jsp 加上tablib标识库,我们可以完成这种转换. 著名open source项目组jakarta.apache.org推出的系列标识库中,就有这个功能的tanglib:http://jakarta.apache.org/taglibs/doc/

  • jsp中使用jstl导入html乱码问题解决方法

    在jsp中通过jst的<c:import>导入html时会出现乱码的现象,其原因是org.apache.taglibs.standard.tag.common.core.ImportSupport 的charEncoding的值为空则会出现charEncoding为默认值也就是ISO-8859-1 所幸的是charEncoding可以直接通过<c:import>直接设置,所以只需设置一下就好了,许多人说可以通过在html中通过meta设置contentType,但我试验过却不行,也

  • 将html页改成jsp的两种方式

    一般情况,将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件.下面具体说一下这两种方式. 假设我们要将testPage.html文件修改为testPage.jsp文件.原testPage.html文件内容为: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&qu

  • 用JSP生成静态页面

    主要原理请参考http://blog.hunan2s.com/article.asp?id=233 经过一翻调试,成功了..呵 附上源码.. JDK 1.5 +ECLIPSE +TOMCAT 5.0.28 + MYSQL 5.0 数据库TEST ,表名news 字段: id   int 自动增长 , Title  varchar(20) , Content  varchar(200)  , Author  varchar(10) makeFile.jsp <%  Connection conn 

  • 动态JSP页生成静态HTML的方法

    本文实例讲述了动态JSP页生成静态HTML的方法.分享给大家供大家参考.具体如下: 具体实现: 利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入指定的.html文件,再跳转到对应的.html即可.如果存在对应的.html文件,则直接跳转到对应的.html即可.   代码: JspFilter.java: import java.io.BufferedReader; import java.io.File; imp

  • jsp生成静态页面的方法

    复制代码 代码如下: import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext;

  • JSP输出HTML时产生的大量空格和换行的去除方法

    这个问题当年也困扰了我比较长的时间.因为在jsp内使用的EL标签和其他标签时,会产生大量的空格和换行符.例如: 复制代码 代码如下: ------- start ---------- <c:choose> <c:when test="${fn:length(mainPageList)>1&}"> Something </c:when> <c:otherwise> Others </c:otherwise> <

  • JSP由浅入深(5)—— Scriptlets和HTML的混合

    在前面的教程中我们已经在一个scriptlet中使用了"out"变量来产生HTML输出.对于更复杂的HTML,如果我们还是使用"out"变量那就会失去JSP编程的许多优势.其实我们可以很简单地就实现Scriptlets 和 HTML的混合. 假如你要在HTML产生一个表格.产生表格是一个普通的操作,在实践中你可能想从一个SQL表格或者从文件的行产生一个表格.为了是所举的例子尽量的简单,我们产生一个表格,使这个表格包含从1到N的数字.虽然以下的例子不是很有用,但是你从

  • JSP由浅入深(4)—— Scriptlets

    上面的教程我们已经学会了如何在JSP网页中通过在<%= and %>字符系列之间嵌入Java表达式.但是通过将Java表达式放置到HTML进行大量的编程工作是很困难的. JSP另外允许你编写Java代码块嵌入到JSP中.具体做法是:将Java代码段放置于<% and %>字符之间.其实跟表达式是一样的,只不过在开始的地方没有等号而已. 代码块就是我们熟知的"scriptlet".如果单单是scriptlet,对于HTML起不了任何作用.而每次scriptlet包

  • JSP由浅入深(1)—— 熟悉JSP服务器

    熟悉JSP服务器 本"JSP由浅入深" 系列教程是面向中级和高级用户的,它需要HTML和Java的基础.你应该会将HTML网页连接到一起,并且会利用Java来进行编程.如果你还没有这个基础,建议你还是先打好基础为好.这个系列教程将通过编制简单的例子到复杂的例子来教会你JSP.本系列教程是采用循序渐进的方法来进行阐述的,即由浅入深.为了使你能够获得最大的进步,建议你再学习的过程中将所有的例子自己进行调试.开始的例子可能会很简单,所以开始的时候你要特别耐心,不要认为太简单而跳过.如果你仔细

  • JSP由浅入深(12)—— 表单编辑

    比如来自Blazix服务器的标志库在你的系统环境中不能使用,那么不使用标志库来实现相似的功能呢?本教程就是为这个问题而提出的.这个问题是可以解决的,只是代码要长一点.主要地,你必须亲自编辑HTML标志,然后将它设置缺省值.从下面的例子的例子中我们可以学到怎样修改GetName.jsp以提供类似于blx:getProperty的特性,但是我们只能手工地编辑HTML标志: <jsp:useBean id="user" class="UserData" scope=

  • JSP由浅入深(8)—— JSP Tags

    JSP另外一个重要的语法是Tags(标记).JSP Tags不是使用<%,而只是使用<字符.JSP Tag有点象HTML Tag .JSP tags可以有一个"start tag".一个"tag body"以及一个"end tag".开始和结束的标志都可以使用标志的名字,都被圈在<和>字符里面.结束的标志是在字符<后面加一个反斜杆(/)字符.这个标志名字有一个嵌入的冒号(:)字符在里面,其中冒号前面的部分描述了标志的

  • JSP由浅入深(6)—— JSP声明

    现在你所编写的JSP要变成一个类的定义.所有你编写的scriptlets要放置到这个类的一个方法中.同样,你可以增加变量和方法声明到这个类中.当然你也可以从scriptlets和表达式中使用这些变量和方法. 为了增加一个声明,你必须使用<%! and %>来圈起你的声明,比如: <%@ page import="java.util.*" %> <HTML> <BODY> <%! Date theDate = new Date();

  • JSP由浅入深(7)—— JSP Directives

    在前面的教程中,我们已经使用了java.util.Date.可以有人就会问:为什么不只使用import java.util.*呢?其实,在JSPs中也可以使用import语句,但是它的语法跟普通的Java是有些差别的.下面给出一个例子: <%@ page import="java.util.*" %> <HTML> <BODY> <% System.out.println( "Evaluating date now" );

  • JSP由浅入深(3)—— 通过表达式增加动态内容

    在我们前面的章节中,任何的HTML文件都可以转变成JSP文件,做法是通过改变它的扩展名为.jsp.当然,我们要知道是什么使得JSP有用呢?答案是嵌入Java的能力.将下列文本放置在一个以.jsp为扩展名的文件中,比如说这个文件为myjsp.jsp,然后将这个文件放置到你的JSP目录下并且在浏览器上看它.以下是具体的代码: <HTML> <BODY> Hello! The time is now <%= new java.util.Date() %> </BODY&

  • JSP由浅入深(9)—— JSP Sessions

    在经典的网站上,访问者可以浏览几个网页并执行一些交互的行为.如果你在编写这样的网站,利用每一个用户的一些数据是非常有用的.为了这个目的,我们可以使用JSP中的"sessions". Session是一个跟用户相关的对象.当用户访问网站的时候,一些数据就被存放于session中,并在需要的时候从中取出数据.Session为不同的用户保存了不同了数据. 以下的网页将用户的名字放置于session中,并可以在其它地方来显示它.首先我们要制作一个表单,然后将它命名为GetName.html &

  • JSP由浅入深(10)—— Beans and Forms处理

    表单(Forms)是在网站交互的一个很普通的方法.JSP使表单处理更加简单.在JSP中处理表单的标准方法是定义一个"bean".这个"bean"不是一个完全的Java bean.你只需在定义一个类使它有个区域,这个区域跟表单中的每一个区域相对应.这个类区域必须有"setters"来匹配表单区域的名字.举个例子,让我们修改一下前面教程的GetName.html并且收集Email地址和用户的年龄.具体代码修改如下: <HTML> <

随机推荐