JSP Actions 让我们来做动作吧^_^

原创 2005年05月29日 22:19:00
   
JSP Actions的使用

 
 

JSP actions 使用您可以动态的插入一个文件,重用JavaBeans组件,前进到另一个页面,或为Java 插件生成一个HTML。可以使用的action 有:

(1) jsp:include --在页面被请求时包含进一个文件。
(2) jsp:useBean--找到或实例化一个JavaBean。
(3) jsp:setProperty--设置一个JavaBean属性。
(4) jsp:getProperty--将JavaBean的属性插入到输出。
(5) jsp:forward--让请求者可以向前到一个新的页面。
(6) jsp:plugin--用OBJECT或EMBED标签为Java plugins生成特定的浏览器的代码。

   1、jsp:include Action

   这个action使您可以在即将生成的页面上包含进一些文件:

   <jsp:include page="relative URL" flush="true" />

   与include directive不同,这个action是在页面被请求时才将文件包含进来,而,include directive则是在JSP页面被转换为servlet时包含文件。为了提高效率,include action做了一点小小的牺牲,即,它不允许被包含的页面含有一般的JSP代码(例如,不可设置HTTP头),但是,它具有显著的灵活性,如下面的 JSP 代码,它实现将四个不同的片段插入如下的页面。每一次当标题改变的时候,您仅需修改这四个文件而无须更改主要的JSP 页面。

WhatsNew.jsp
<HTML>
<HEAD>
<TITLE> JSP教程</TITLE>
<BODY >
<CENTER>
<TABLE BORDER=5 BGCOLOR="#EF8429">
<TR><TH CLASS="TITLE"> What"s New at Chinese comic sites</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>
   当然您可以定义自己的HTML文件,但有一点请注意:

   您应该将文件放到您的JSP目录下的news目录内。
jsp:useBean Action 的使用

   一、 语法:
<jsp:useBean
id="beanInstanceName"
scope="page|request|session|application"
{ class="package.class" |
type="package.class" |
class="package.class" type="package.class" |
beanName="{package.class | <%= expression %>}" type="package.class"
}
{ /> |
> 其他元素
</jsp:useBean>
}

   这个action使您能将一个JavaBean装入一个JSP页面。这是一个非常有用的能力,因为它使您可以使用可重用的JAVA类而不需牺牲性能。最简单的语法用于指定一个bean:

   <jsp:useBean id="name" class="package.class" />

   这通常意味着“实例化一个类的对象通过指定一个类,并将之与一个通过id指定名称的变量绑定”。然而,就象我们看到的,您可以指定一个scope属性来使 得bean不仅仅与当前的页面相联系。在这种情形下,得到一个对已存在的bean的引用是非常有用的,而且,仅当没有相同的id和scope的bean存 在时才创建一个新的。现在,您已有了bean,您可以通过jsp:setProperty来修改它,或者,通过使用之前用id指定的名字来使用 scriptlet或明确的调用方法。当您说“这个bean有一个称为foo的X类型的属性”,您真正的意思是“这个类有一个称为getFoo的方法,它 返回X类型的某类值,还有另一个方法称为setFoo,它以X为参数。”这jsp:setProperty action 将在下一单元详细的介绍,但是现在您既可以给出一个明确的值,给出一个属性来说明此值是从request的参数继承而来,也可以仅仅列出属性来标志此值应 该从与属性名同名的参数继承而来。您可以通过调用适用的getXxx方法,或更普遍的,使用jsp:getProperty action,来得到已存在的JSP表达式或scriptlet属性。

   请注意,为bean指定的类必须在服务器的规则的类路径下,而不是用来保留当改变时自动装载的类的路径。例如,在Java Web Server上,它和它所用的类必须到类的目录或在lib目录下的一个jar文件内,而不是在servlets的目录下。

   下面让我们来看一个非常简单的例子,它装载一个bean并且设置/得到一个简单的串参数。

BeanTest.jsp
<HTML>
<HEAD>
<TITLE>Reusing JavaBeans in JSP</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLE BORDER=5>
<TR><TH CLASS="TITLE">
Reusing JavaBeans in JSP</TABLE>
</CENTER>
<P>
<jsp:useBean id="test" class="hall.SimpleBean" />
<jsp:setProperty name="test"
property="message"
value="Hello WWW" />
<H1>Message: <I>
<jsp:getProperty name="test" property="message" />
</I></H1>
</BODY>
SimpleBean.java

   以下是bean的原代码:

package hall;
public class SimpleBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}

剑指offer面试题[42]-反转单词顺序VS左旋转字符串

题目1: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”ab...

HashMap实现原理,利用数组和链表存储元素

数组:存储区间连续,占用内存严重,寻址容易,插入删除困难 链表:存储区间离散,占用内存比较宽松,寻址困难,插入删除容易 hashmap综合应用了这两种数据结构,实现了寻址容易,插入删除也容易 ...

Magento——利用购物车促销规则(Shopping Cart Price Rules)实现自己的功能第一章: 添加新的动作(Actions)

Magento的促销规则引擎,可以用一个词,叫很好很强大,不过虽然可以在Magento后台可以设置很复杂的各种条件(Conditions),但条件对应的动作(Actions)却很少,而且全部都是只针对...

cocos2d-x学习笔记(7)--动作(Actions)

cocos2d-x学习笔记(7)--动作(Actions) 本文出自http://www.wenbanana.com稻草人博客,欢迎访问!        动作在cocos2d-x中可以说是精华...

cocos2d的常用动作及效果总结之一: Basic actions(转)

在官方网站上,对cocos2d所提供的动作(action)转化(Transformations)以及效果(effect)做了如下分类Basic actions Composition actions ...

cocos2d的常用动作及效果总结之一: Basic actions

cocos2d的常用动作及效果总结之一:Basic actions       以下文本转载自:http://hi.baidu.com/flwblog/blog/item/769c219b716d2...

IDEA 中的 Intention Actions(意图动作) 上

意图动作(Intention Actions)以下部分: — 意图动作   — 介绍   — 意图动作的图标   — 意图动作的类型 — 运用意图动作 — 配置意图动作    — 禁用...

Silverlight 触发器与动作(Triggers and Actions)

触发器和动作是协同工作的。当某件事情发生的时候,触发器就会引发并调用一个动作,触发器和动作组成了最简单的行为表现形式。         创建一个动作:         想象一下,当用户完成一个...
  • fan_ken
  • fan_ken
  • 2011年08月28日 21:25
  • 2096

cocos2d的常用动作及效果总结之二:Composition actions

上一篇整理了 basice action  基本动作的部分,这一篇接着讲 composition actions -复合动作的部分。在实际编程中,这部分是跑不掉的,几乎每一个都是必用的。 CCSeq...
  • trandy
  • trandy
  • 2012年08月03日 15:45
  • 413
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP Actions 让我们来做动作吧^_^
举报原因:
原因补充:

(最多只允许输入30个字)