⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 45.html

📁 写给JSP初级程序员的书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<meta name="description" content="Java,JDBC,EJB,Open Source,jdk,rmi">
<meta name="Keywords"
content="Java, servlets, Java servlet, Javascript, ActiveX, VRML,
        applet, applets, directory, news, jdbc, applications, 
        Java applications, Java developer, Java development, developer, 
        classes, Jars.com, Jars, intranet, Java applet, Javabeans, 
        Java products, JDK, Java development kit, java development environment, JIT,
        JavaPlan, enterprise tools, JVM, Java Virtual Machine, Java resources, 
        SUN, CGI, Perl, database, network, html,
        xml, dhtml, rating, ratings, review, jars, cgi, programming,
        software review, software rating">
<title>csdn_十三、JSP动作</title>
<style>
.news {   BACKGROUND: #007cd3;  font-family: "宋体"; font-size: 9pt }
.t {  font-family: "宋体"; font-size: 9pt }
.t1 { color:#007cd3;  font-family: "宋体"; font-size: 9pt }
.white { font-family: "宋体"; font-size: 9pt;color:#FFFFFF }
.red { font-family: "宋体"; font-size: 9pt;color:#FF0000 }
A:visited {color:#0000FF}
A:hover {color: #ff6666; text-decoration: none}
.text {font-size: 12px; line-height: 160%; font-family: "宋体"}
.text1 {color:#000000; font-size: 12px; line-height: 130%; font-family: "宋体"; text-decoration: none}
.text1:visited {color:#000000}
.text1:hover {color: #000000}
.text2 {color:#000000; font-size: 12px; line-height: 130%; font-family: "宋体"; text-decoration: none}
.text2:visited {color:#000000}
.text2:hover {color: #000000}
.text3 {font-size: 12px; line-height: 100%; font-family: "宋体"; text-decoration: none}
.large {font-size: 14.8px; line-height: 130%}
</style>
</head>

<body
<center>




  <tr>
    <td WIDTH="100%" VALIGN="TOP">
      <tr>
        <td WIDTH="100%" CLASS="white"></td>
      </tr>
    
      <tr>
        <td WIDTH="50%" bordercolor="#FFFFFF" CLASS="t1" bgcolor="#F0F0F0" align="center" nowrap>十三、JSP动作</td>
       <p> <td WIDTH="50%" bordercolor="#FFFFFF" CLASS="t1" bgcolor="#F0F0F0" align="center" nowrap>作者:仙人掌工作室</td></p>
      </tr>
      <tr>        <td WIDTH="100%" bordercolor="#FFFFFF" CLASS="t" bgcolor="#F0F0F0" colspan="2">
              <br>   
十三、JSP动作<br>

<br>
   JSP动作利用XML语法格式的标记来控制Servlet引擎的行为。利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。 <br>
<br>
   JSP动作包括: <br>
<br>
jsp:include:在页面被请求的时候引入一个文件。 <br>
jsp:useBean:寻找或者实例化一个JavaBean。 <br>
jsp:setProperty:设置JavaBean的属性。 <br>
jsp:getProperty:输出某个JavaBean的属性。 <br>
jsp:forward:把请求转到一个新的页面。 <br>
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。 <br>
   13.1 jsp:include动作 <br>
<br>
   该动作把指定文件插入正在生成的页面。其语法如下: <br>
<jsp:include page=&quot;relative URL&quot; flush=&quot;true&quot; /><br>
<br>
<br>
<br>
   前面已经介绍过include指令,它是在JSP文件被转换成Servlet的时候引入文件,而这里的jsp:include动作不同,插入文件的时间是在页面被请求的时候。jsp:include动作的文件引入时间决定了它的效率要稍微差一点,而且被引用文件不能包含某些JSP代码(例如不能设置HTTP头),但它的灵活性却要好得多。 <br>
<br>
   例如,下面的JSP页面把4则新闻摘要插入一个“What's New ?”页面。改变新闻摘要时只需改变这四个文件,而主JSP页面却可以不作修改: <br>
<br>
   WhatsNew.jsp <br>
<!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;><br>
<HTML><br>
<HEAD><br>
<TITLE>What's New</TITLE><br>
</HEAD><br>
<br>
<BODY BGCOLOR=&quot;#FDF5E6&quot; TEXT=&quot;#000000&quot; LINK=&quot;#0000EE&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VLINK=&quot;#551A8B&quot; ALINK=&quot;#FF0000&quot;><br>
<br>
<CENTER><br>
<TABLE BORDER=5 BGCOLOR=&quot;#EF8429&quot;><br>
&nbsp;&nbsp;<TR><TH CLASS=&quot;TITLE&quot;><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;What's New at JspNews.com</TABLE><br>
</CENTER><br>
<P><br>
Here is a summary of our four most recent news stories:<br>
<OL><br>
&nbsp;&nbsp;<LI><jsp:include page=&quot;news/Item1.html&quot; flush=&quot;true&quot;/><br>
&nbsp;&nbsp;<LI><jsp:include page=&quot;news/Item2.html&quot; flush=&quot;true&quot;/><br>
&nbsp;&nbsp;<LI><jsp:include page=&quot;news/Item3.html&quot; flush=&quot;true&quot;/><br>
&nbsp;&nbsp;<LI><jsp:include page=&quot;news/Item4.html&quot; flush=&quot;true&quot;/><br>
</OL><br>
</BODY><br>
</HTML><br>
<br>
<br>
<br>
   13.2 jsp:useBean动作 <br>
<br>
   jsp:useBean动作用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,因为它使得我们既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。jsp:useBean动作最简单的语法为: <br>
<jsp:useBean id=&quot;name&quot; class=&quot;package.class&quot; /><br>
<br>
<br>
<br>
   这行代码的含义是:“创建一个由class属性指定的类的实例,然后把它绑定到其名字由id属性给出的变量上”。不过,就象我们接下来会看到的,定义一个scope属性可以让Bean关联到更多的页面。此时,jsp:useBean动作只有在不存在同样id和scope的Bean时才创建新的对象实例,同时,获得现有Bean的引用就变得很有必要。 <br>
<br>
   获得Bean实例之后,要修改Bean的属性既可以通过jsp:setProperty动作进行,也可以在Scriptlet中利用id属性所命名的对象变量,通过调用该对象的方法显式地修改其属性。这使我们想起,当我们说“某个Bean有一个类型为X的属性foo”时,就意味着“这个类有一个返回值类型为X的getFoo方法,还有一个setFoo方法以X类型的值为参数”。 <br>
<br>
   有关jsp:setProperty动作的详细情况在后面讨论。但现在必须了解的是,我们既可以通过jsp:setProperty动作的value属性直接提供一个值,也可以通过param属性声明Bean的属性值来自指定的请求参数,还可以列出Bean属性表明它的值应该来自请求参数中的同名变量。 <br>
<br>
   在JSP表达式或Scriptlet中读取Bean属性通过调用相应的getXXX方法实现,或者更一般地,使用jsp:getProperty动作。 <br>
<br>
   注意包含Bean的类文件应该放到服务器正式存放Java类的目录下,而不是保留给修改后能够自动装载的类的目录。例如,对于Java Web Server来说,Bean和所有Bean用到的类都应该放入classes目录,或者封装进jar文件后放入lib目录,但不应该放到servlets下。 <br>
<br>
   下面是一个很简单的例子,它的功能是装载一个Bean,然后设置/读取它的message属性。 <br>
<br>
   BeanTest.jsp <br>
<!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;><br>
<HTML><br>
<HEAD><br>
<TITLE>Reusing JavaBeans in JSP</TITLE><br>
</HEAD><br>
<br>
<BODY><br>
<CENTER><br>
<TABLE BORDER=5><br>
&nbsp;&nbsp;<TR><TH CLASS=&quot;TITLE&quot;><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reusing JavaBeans in JSP</TABLE><br>
</CENTER><br>
<P><br>
<br>
<jsp:useBean id=&quot;test&quot; class=&quot;hall.SimpleBean&quot; /><br>
<jsp:setProperty name=&quot;test&quot; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;property=&quot;message&quot; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value=&quot;Hello WWW&quot; /><br>
<H1>Message: <I><br>
<jsp:getProperty name=&quot;test&quot; property=&quot;message&quot; /><br>
</I></H1><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
</BODY><br>
</HTML><br>
<br>
<br>
<br>
   SimpleBean.java <br>
<br>
   BeanTest页面用到了一个SimpleBean。SimpleBean的代码如下: <br>
package hall;<br>
<br>
public class SimpleBean {<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -