十三、JSP动作

的和健康呵呵

的和健康呵呵

2016-01-29 12:18

十三、JSP动作,十三、JSP动作
  JSP动作利用XML语法格式的标记来控制Servlet引擎的行为。利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。

   JSP动作包括:

jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。
   13.1 jsp:include动作

   该动作把指定文件插入正在生成的页面。其语法如下:
<jsp:include page="relative URL" flush="true" />



   前面已经介绍过include指令,它是在JSP文件被转换成Servlet的时候引入文件,而这里的jsp:include动作不同,插入文件的时间是在页面被请求的时候。jsp:include动作的文件引入时间决定了它的效率要稍微差一点,而且被引用文件不能包含某些JSP代码(例如不能设置HTTP头),但它的灵活性却要好得多。

   例如,下面的JSP页面把4则新闻摘要插入一个“What's New ?”页面。改变新闻摘要时只需改变这四个文件,而主JSP页面却可以不作修改:

   WhatsNew.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>What's New</TITLE>
</HEAD>

<BODY BGCOLOR="#FDF5E6" TEXT="#000000" LINK="#0000EE"
      VLINK="#551A8B" ALINK="#FF0000">

<CENTER>
<TABLE BORDER=5 BGCOLOR="#EF8429">
  <TR><TH CLASS="TITLE">
      What's New at JspNews.com</TABLE>
</CENTER>
<P>
Here is a summary of our four most recent news stories:
<OL>
  <LI><jsp:include page="news/Item1.html" flush="true"/>
  <LI><jsp:include page="news/Item2.html" flush="true"/>
  <LI><jsp:include page="news/Item3.html" flush="true"/>
  <LI><jsp:include page="news/Item4.html" flush="true"/>
</OL>
</BODY>
</HTML>



   13.2 jsp:useBean动作

   jsp:useBean动作用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,因为它使得我们既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。jsp:useBean动作最简单的语法为:
<jsp:useBean id="name" class="package.class" />



   这行代码的含义是:“创建一个由class属性指定的类的实例,然后把它绑定到其名字由id属性给出的变量上”。不过,就象我们接下来会看到的,定义一个scope属性可以让Bean关联到更多的页面。此时,jsp:useBean动作只有在不存在同样id和scope的Bean时才创建新的对象实例,同时,获得现有Bean的引用就变得很有必要。

   获得Bean实例之后,要修改Bean的属性既可以通过jsp:setProperty动作进行,也可以在Scriptlet中利用id属性所命名的对象变量,通过调用该对象的方法显式地修改其属性。这使我们想起,当我们说“某个Bean有一个类型为X的属性foo”时,就意味着“这个类有一个返回值类型为X的getFoo方法,还有一个setFoo方法以X类型的值为参数”。

   有关jsp:setProperty动作的详细情况在后面讨论。但现在必须了解的是,我们既可以通过jsp:setProperty动作的value属性直接提供一个值,也可以通过param属性声明Bean的属性值来自指定的请求参数,还可以列出Bean属性表明它的值应该来自请求参数中的同名变量。

   在JSP表达式或Scriptlet中读取Bean属性通过调用相应的getXXX方法实现,或者更一般地,使用jsp:getProperty动作。

   注意包含Bean的类文件应该放到服务器正式存放Java类的目录下,而不是保留给修改后能够自动装载的类的目录。例如,对于Java Web Server来说,Bean和所有Bean用到的类都应该放入classes目录,或者封装进jar文件后放入lib目录,但不应该放到servlets下。

   下面是一个很简单的例子,它的功能是装载一个Bean,然后设置/读取它的message属性。

   BeanTest.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Reusing JavaBeans in JSP</TITLE>
</HEAD>

<BODY>
<CENTER>
<TABLE BORDER=5>
  <TR><TH CLASS="TITLE">
&nbs
展开更多 50%)
分享

猜你喜欢

十三、JSP动作

Java JAVA基础
十三、JSP动作

JAVA/JSP学习系列之十三

Java JAVA基础
JAVA/JSP学习系列之十三

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

太极拳视频 武当太极十三势动作规范练习

太极拳 太极拳教程 二十四式简化太极拳 杨氏太极拳 42式太极拳 陈氏太极拳
太极拳视频 武当太极十三势动作规范练习

武当太极拳 武当太极十三式动作视频教学

太极拳 太极拳教程 二十四式简化太极拳 杨氏太极拳 42式太极拳 陈氏太极拳
武当太极拳 武当太极十三式动作视频教学

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

太极拳视频 如何学习太极拳十三桩动作

太极拳 太极拳教程 二十四式简化太极拳 杨氏太极拳 42式太极拳 陈氏太极拳
太极拳视频 如何学习太极拳十三桩动作

太极拳教程 武当太极十三式的动作视频教程

太极拳教程 太极拳 二十四式简化太极拳 杨氏太极拳 42式太极拳 陈氏太极拳
太极拳教程 武当太极十三式的动作视频教程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

CSS定位二:空间定位

CSS定位二:空间定位

Win2000安装Apache+ApacheJserv+gnujsp之完全攻略

Win2000安装Apache+ApacheJserv+gnujsp之完全攻略
下拉加载更多内容 ↓