java web 学习 --第三天(Java三级考试)

第二天的学习内容这里:http://www.cnblogs.com/tobecrazy/p/3446646.html

Jsp中的动作标签

<jsp:include> 实现动态包含,在一个文件里包含另一个文件

<jsp:include/>动作标签的包含结果是“结果的合并”而不是内容的合并

<jsp:useBean> 定义和实例化JavaBean组件类的对象实例

该动作标签创建JavaBean组件的对象实例,在web开发中减少java脚本代码量

可以将页面中的Java脚本封装到JavaBean组件类中,采用<jsp:useBean>动作标签创建出它的对象实例,从而访问其中成员方法和操作成员属性值。

使用方法:

<jsp:useBean id=”objectName” scope=”page|request|session|application” calss=”className” />

其中id属性定义该对象的唯一标识名,scope属性代表作用域,可以是page 页面域、request 请求域HTTP请求开始到结束这段时间,session会话作用域HTTP会话开始到结束,application应用程序全局作用域,应用程序从开始到结束这段时间;class属性代表对象全局类名。

如:将scope属性值设置为session(会话作用域),该对象实例的作用域为整个session。

但是需要创建对象实例的jsp中添加<%@page%  session=”true” > 开启会话作用域。此时可以在另一页面使用jsp内置session对象获取该对象实例。比如:session.getAttribute(“objectName”)

<jsp:setProperty> 设置由<jsp:useBean>对象实例的成员属性值

<jsp:setProperty>是对Bean的对象成员赋值

语法:

<jsp:setProperty name=”beanInstanceName” { property=”*”|property=”propertyName” [param=”parameterName”] |property=”propertyName” value=”{string|<%=expression %>}” />

Name属性的值是前面已经使用的<jsp:useBean>动作标签引入的实例名字;property属性的值代表JavaBean对象中包含的成员属性,并且可以使用不同的方法对属性赋值。

 

<jsp:getProperty>获得由<jsp:useBean>对象实例的成员属性值

<jsp:getProperty>是获取成员属性值,并转换为String类型

语法:

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

其中name属性是JavaBean对象实例的名字,property属性代表成员属性

例子:添加一个UserInfoActionForm 类, 并创建2个属性,添加set/get method

package mypackage;

 

public class UserInfoActionForm {

 

    /**

     * @param args

     * two parameters add get/set methods

    */

   

    String userName=null;

    public String getUserName() {

       return userName;

    }

    public void setUserName(String userName) {

       this.userName = userName;

    }

    public String getPassWord() {

       return passWord;

    }

    public void setPassWord(String passWord) {

       this.passWord = passWord;

    }

    String passWord=null;

}

 

添加一个名为property.jsp文件,页面内容

添加如下代码:

<jsp:useBean id="myUserinfo" scope="page" class="mypackage.UserInfoActionForm" />

l  myUserinfo 是UserInfoActionForm的一个实例

l  scope 是myUserinfo的作用域,页面作用域

l  class添加方法package.className

接着在body添加

<%  myUserinfo.setUserName("Young");

     out.print("the value of userName is :"+ myUserinfo.getUserName());

  %>

  <br>

  <jsp:setProperty property="userName" name="myUserinfo" value="Lewis"/>

  the value of userName after setProperty is :

  <jsp:getProperty property="userName" name="myUserinfo"/>

  <br>

运行之后,你将看到这个结果:

<jsp:forward> 转发到指定的页面

<jsp:forward> 动作标签的作用是将请求转发给另一个资源文件,所谓的请求转发是指从一个JSP页面跳转到另一个JsP页面,Servlet或者静态资源中,但被请求转向到的资源必须位于发送请求页面上下文环境之中。也就是客户端看到的URL是A页面的地址却看到是B页面内容。

基本语法:

<jsp:forward page=”relativeURL|<%=expression %>” />

其中page属性既可以是一个相对路径也可以是经过表达式算出来的

而且在<jsp:forward>动作标签内可以包含一个或者多个<jsp:param>动作标签

<jsp:forward page{“URL”|”<%= expression %> }  >

 <jsp:param name=”paramName” value=”paramValue” />

</jsp:forward>

 

<jsp:param> 为目标对象提供参数,在目标页面中可以采用reques.getParameter(“parameter name”) 方法来获取

一般配合<jsp:include>和<jsp:forward>使用,向这些动作标签传递参数

<jsp:param>动作标签的基本语法:

<jsp:param name=”parameterName” value=”parameterValue|<%=expression %>” />

其中name属性用于指定的参数名,而value属性用于指定该参数所对应的值

posted @ 2013-12-01 21:56  to be crazy  阅读(1463)  评论(0编辑  收藏  举报