JSP动作

来源:互联网 发布:网络专科是什么意思 编辑:程序博客网 时间:2024/06/02 12:38

JSP动作主要有以下六种:

1、 <jsp:useBean>

javaBean是特殊类型的java类,它与普通java类相比主要区别是包含了两种特殊的方法:set…(设置属性的方法)、get…(取属性值的方法)。
<jsp:useBean>动作用来查找或实例化一个jsp页面使用的JavaBeans组件。
在程序中可把逻辑控制、数据库操作放在javabeans组件中,然后在jsp文件中调用它,这样可增加程序的清晰度及程序的可重用性。

· 语法如下:

<jsp:useBean id="beanInstanceName"
scope="page | request | session | application"
class="package.claaa"
type="package.claaa"
other elements
/>

· 属性:

1) id="beanInstanceName"
用来绑定Bean实例的变量。
2) class|type="package.claaa"
表明该bean具体是对哪个类的实例化。
3) scope="page | request | session | application"
表示该bean的有效范围。
Page:实例的有效范围是当前页面。
Request:实例的有效范围是一个单独客户请求的生命周期内。
Session:实例的有效范围是整个用户会话的生命周期内。
Application:实例的有效范围是应用的生命周期内。

2、 <jsp:setProperty>

该动作的含义是使用bean中相应的set()方法设置一个或多个属性的值,值的来源是通过value属性明确给出,或者利用request对象中相应的参数。
假设某个bean有一个string类型的可被JSP文件使用的属性myProperty,则它必须有一个public方法setMyProperty(string value),<jsp:setProperty>动作使用的就是该方法。

· 语法如下:

<jsp:setProperty name="beanInstanceName"
property="*" | property ="propertyName"
value="具体的值"
/>

· 属性:

1) name="beanInstanceName"
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作<jsp:useBean>中定义的id必须对应起来,包括大小写都必须一致。
2) property="*" | property ="propertyName"
这个属性是必须的,用来表示要设置哪个属性。如果property的值是"*",表示用户在可见的JSP页面中输入的全部值,存储在匹配的bean属性中。匹配的方法是:bean的属性名称必须与输入框的名字相同。
3) value="具体的值"
它用来指定bean的属性的值。

3、 <jsp:getProperty>

这个动作提取指定bean属性的值,转换成字符串,然后输出。该动作实际是调用了bean的get()方法。
按上文提到的某个bean有一个string类型的可被JSP文件使用的属性myProperty,它必须有一个返回类型为string的public方法getMyProperty()。<jsp:getProperty>使用的就是这个方法。

语法如下:


<jsp:getProperty name="beanInstanceName" property="propertyName"/>

· 属性:

1) name="beanInstanceName"
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作<jsp:useBean>中定义的id必须对应起来,包括大小写都必须一致。
2) property="*" | property ="propertyName"
这个属性是必须的,用来表示要获取哪个属性。

· 在JSP中使用 Java Bean的一个例子

test.jsp的代码如下:
<html>
<head>
<title>JSP中使用 Java Bean的测试</title>
</head>
<body>
<jsp:useBean id="test" class="SimleBean" />
<jsp:setProperty name="test" property="message" value="Hello JSP"/>

<p>消息:
<jsp:getProperty name="test" property="message" />
</body>
</html>

解释:

<jsp:useBean id="test" class="SimleBean" />:表示定义一个java bean的实例,实例的名称是test,类的名称是SimleBean。
<jsp:setProperty name="test" property="message" value="Hello JSP"/>:表示设置实例test的属性message,其值是"Hello JSP"。
<jsp:getProperty name="test" property="message" />:表示在页面中输出实例test的属性message的值。

· test.jsp文件中用到的java bean 的代码SimpleBean.java如下:

public class SimpleBean
{
private String message;

public String getMessage()
{
return message;
}

public void setMessage(String message)
{
this.message = message;
}
}
注:本代码中蓝色的部分"Message"表示在JSP文件中可使用的属性名是"message"。

4、 <jsp:include>

<jsp:include>动作的目的是把其他文件的正文插入到这个程序中来,以增加程序的可重用性和可读性。

· 语法:

<jsp:include page="relativeURL" flush="true"/>
或:
<jsp:include page="relativeURL" flush="true">
<jsp:param name="parameterName" value="参数的值" />
</jsp:include>

· 属性:

1) page="relativeURL"
被包含文件的相对路径。
2) flush="true"
通常情况下,此属性必须为true。
3) <jsp:param name="parameterName" value="参数的值" />
该句允许把一个或多个名称/值对作为参数传给被包含的文件。

5、 <jsp:forward>

<jsp:forward>动作把客户请求转到另外的页面,<jsp:forward>以下的代码将不被执行。

· 语法:

<jsp:forward page="relativeURL" />

<jsp:forward page="relativeURL" >
<jsp:param name="parameterName" value="参数的值" />
</jsp:forward>

· 属性:

1) page="relativeURL"
转跳到文件的相对路径。
2) <jsp:param name="parameterName" value="参数的值" />
该句允许把一个或多个名称/值对作为参数传给转跳到的文件。

6、 <jsp:plugin>

<jsp:plugin>动作用来根据浏览器的类型,插入通过java插件运行java Applet所必须的object或embed元素。

· 语法:

<jsp:plugin
type="bean|applet"
code="classFileName"
codebase="classFileDirectoryName"
[name="instanceName"]
[align="bottom|top|middle|left|right"]
[height="displsyPixels"]
[width="displsyPixels"]
[hspace="leftRightPixels"]
[vspace="topButtomPixels"]
[jreversion="java的版本"]
[<jsp:params>
[<jsp:param name="parameterName" value="参数的值"/>]
</jsp:params>]
[<jsp:fallback> 这里是在不能启动插件的时候,显示给用户的文本信息</jsp:fallback>]
</jsp:plugin>

· 属性:

1) type="bean|applet"
插件将执行的对象的类型,必须指定。
2) code="classFileName"
插件将执行的java类文件的名称,在名称中必须包含扩展名,且此文件必须在用"codebase"属性指明的目录下。
3) codebase="classFileDirectoryName"
包含插件将运行的java类的目录或指相这个目录的路径。
4) [name="instanceName"]
bean或applet的实例的名称,使得被同一个JSP文件调用的bean或applet之间的通信成为可能。

· <jsp:plugin>示例

<html>
<title>Plugin example</title>
<body>
下面将插入一个java Applet<p>
<jsp:plugin type="applet" code="Test.class"
codebase="/examples/applet" jreversion="2.0" width=60 height=60>
<jsp:fallback>不能运行java applet </jsp:fallback>
</jsp:plugin>

</body>
</html>
注释:蓝色部分代码,将在页面中插入一个java applet,该applet的类文件名是"/examples/applet/Test.class",在页面中的高是60,宽是60。

原创粉丝点击