📄 jsp-foundation.htm
字号:
请输入您的姓名: <br>
< INPUT TYPE=TEXT NAME="thename"> <br>
< INPUT TYPE=SUBMIT VALUE="SUBMIT"> <br>
< /FORM> <br>
< /BODY> <br>
< /HTML> </p>
<p> 第二个页面是一个 JSP 页面( q2.jsp ),它通过 request 对象提取 q1.html 表单中的 thename
值,将它存储为 name 变量,然后将这个 name 值保存到 session 对象中。 session 对象是一个名字 / 值对的集合,在这里,名字
/ 值对中的名字为“ thename ”,值即为 name 变量的值。由于 session 对象在会话期间是一直有效的,因此这里保存的变量对后继的页面也有效。
q2.jsp 的另外一个任务是询问第二个问题。下面是它的代码: </p>
<p> < HTML> <br>
< BODY> <br>
< %@ page language="java" %> <br>
< %! String name=""; %> <br>
< % <br>
name = request.getParameter("thename"); <br>
session.putValue("thename", name); <br>
%> <br>
您的姓名是: < %= name %> <br>
< p> <br>
< FORM METHOD=POST ACTION="q3.jsp"> <br>
您喜欢吃什么 ? <br>
< INPUT TYPE=TEXT NAME="food"> <br>
< P> <br>
< INPUT TYPE=SUBMIT VALUE="SUBMIT"> <br>
< /FORM> <br>
< /BODY> <br>
< /HTML> </p>
<p> 第三个页面也是一个 JSP 页面( q3.jsp ),主要任务是显示问答结果。它从 session 对象提取 thename
的值并显示它,以此证明虽然该值在第一个页面输入,但通过 session 对象得以保留。 q3.jsp 的另外一个任务是提取在第二个页面中的用户输入并显示它:
</p>
<p> < HTML> <br>
< BODY> <br>
< %@ page language="java" %> <br>
< %! String food=""; %> <br>
< % <br>
food = request.getParameter("food"); <br>
String name = (String) session.getValue("thename");
<br>
%> <br>
您的姓名是: < %= name %> <br>
< P> <br>
您喜欢吃: < %= food %> <br>
< /BODY> <br>
< /HTML> </p>
<p><br>
三、引用 JavaBean 组件 <br>
作 者 : 仙人掌工作室 编译 </p>
<p> JavaBean 是一种基于 Java 的软件组件。 JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为
JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。如果我们有三个
JavaBean ,它们分别具有显示新闻、股票价格、天气情况的功能,则创建包含所有这三种功能的 Web 页面只需要实例化这三个
Bean ,使用 HTML 表格将它们依次定位就可以了。 </p>
<p> 为说明在 JSP 环境下 JavaBean 的应用,我们创建了一个名为 TaxRate 的 Bean 。它有两个属性,即
Product (产品)和 Rate (税率)。两个 set 方法分别用来设置这两个属性,两个 get 方法则用于提取这两个属性。在实际应用中,这种
Bean 一般应当从数据库提取税率值,此处我们简化了这个过程,允许任意设定税率。下面是这个 Bean 的代码清单: </p>
<p> package tax; <br>
public class TaxRate { <br>
String Product; <br>
double Rate; <br>
public TaxRate() { <br>
this.Product = "A001"; <br>
this.Rate = 5; <br>
} <br>
public void setProduct (String ProductName) { <br>
this.Product = ProductName; <br>
} <br>
public String getProduct() { <br>
return (this.Product); <br>
} <br>
public void setRate (double rateValue) { <br>
this.Rate = rateValue; <br>
} <br>
public double getRate () { <br>
return (this.Rate); <br>
} <br>
} </p>
<p> 在 JSP 页面中应用上述 Bean 要用到 < jsp:useBean> 标记。依赖于具体使用的 JSP
引擎的不同,在何处配置以及如何配置 Bean 的方法也可能略有不同。本文将这个 Bean 的 .class 文件放在 c:\jswdk-1.0\examples\WEB-INF\jsp\beans\tax
目录下,这里的 tax 是一个专门存放该 Bean 的目录。下面是一个应用上述 Bean 的示例页面: </p>
<p> < HTML> <br>
< BODY> <br>
< %@ page language="java" %> <br>
< jsp:useBean id="taxbean" scope="application"
class="tax.TaxRate" /> <br>
< % taxbean.setProduct("A002"); <br>
taxbean.setRate(17); <br>
%> <br>
使用方法 1 : < p> <br>
产品 : < %= taxbean.getProduct() %> < br> <br>
税率 : < %= taxbean.getRate() %> <br>
< p> <br>
< % taxbean.setProduct("A003"); <br>
taxbean.setRate(3); <br>
%> <br>
< b> 使用方法 2 : < /b> < p> <br>
产品 : < jsp:getProperty name="taxbean" property="Product"
/> <br>
< br> <br>
税率 : < jsp:getProperty name="taxbean" property="Rate"
/> <br>
< /BODY> <br>
< /HTML> </p>
<p> 在 < jsp:useBean> 标记内定义了几个属性,其中 id 是整个 JSP 页面内该 Bean 的标识,
scope 属性定义了该 Bean 的生存时间, class 属性说明了该 Bean 的类文件(从包名开始)。 </p>
<p> 这个 JSP 页面不仅使用了 Bean 的 set 和 get 方法设置和提取属性值,还用到了提取 Bean 属性值的第二种方法,即使用
< jsp:getProperty> 标记。 < jsp:getProperty> 中的 name 属性即为
< jsp:useBean> 中定义的 Bean 的 id ,它的 property 属性指定的是目标属性的名字。
</p>
<p><br>
事实证明, Java Servlet 是一种开发 Web 应用的理想构架。 JSP 以 Servlet 技术为基础,又在许多方面作了改进。
JSP 页面看起来象普通 HTML 页面,但它允许嵌入执行代码,在这一点上,它和 ASP 技术非常相似。利用跨平台运行的 JavaBean
组件, JSP 为分离处理逻辑与显示样式提供了卓越的解决方案。 JSP 必将成为 ASP 技术的有力竞争者。 <br>
</p>
<!-- #EndEditable --></td>
<td width="20"> </td>
</tr>
<tr>
<td width="20" height="11"> </td>
<td width="541" height="11"><!-- #BeginEditable "7" -->{7}<!-- #EndEditable --></td>
<td width="101" height="11">
</td>
<td width="20" height="11"> </td>
</tr>
</table><div align="center"> <br>
</div>
</td>
</tr>
</table>
<div align="center">
<br>
</div>
</body>
<!-- #EndTemplate --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -