struts-笔记-6

 

7 标签

       Struts 标签库

       · Bean 标记:用来在 JSP 页面管理 bean Struts-bean.tld

       ·逻辑 标记:用来在 JSP 页中控制流程, Struts-logic.tld

       · HTML 标记:用来生成 HTML 标记,在表单中显示数据,使用会话 ID URL 进行编程 struts-html.tid

       · tiles 标记:使用动态模块构造普通格式的页面 struts-tiles.tld

 

7.1 Bean  标记库的使用

       第一步:找到 Struts 标记库导入的 jar 文件包,找到配置文件夹 META-INF ,打开找到 tld 文件夹

                    

       第二步:拷贝 < uri ></ uri > 中的地址信息

 

< uri > http://struts.apache.org/tags-bean </ uri >

 

       第三步:创建 JSP 页面,在页面开头如下

<%@ page language = "java" import = "java.util.*" pageEncoding = "GB18030" %>

<%@ taglib uri = "http://struts.apache.org/tags-bean" prefix = "bean" %>

 

                     Taglib :使用的标签类库名称(别人的标记库)

           Uri :标记库的绝对地址(说明标记库在哪里)

           Prefix :表明该标记库在当前页面的使用前缀

       第四步:使用

1、  先定义一个 bean

<%

    String username = "Tom" ;

    request.setAttribute( "username" ,username);

  %>

 

2、  <body> 使用 <bean> 标签

< bean:define id = "username1" name = "username" >

bean:define   定义一个 bean 标签

id = "username1" bean 标签的名称为 username1

name = "username" 获取先前属性中放入的 bean

                     3 bean 的输出

                    

< bean:write name = "user n ame1" />  

${applicationScope.username1 }

                     bean:write  bean 标签 为输出 bean 标签

           name = "username1" 输出名称为 username1 Bean 标签

          

           备注:下面为页面输出方式

7.2 Bean define 的属性

       定义:从有的变量或者变量的属性定义一个新的变量。

       用法:    

Search:from where-----scope;who ----name;which------property

                     Define(evaluate):the name of the variable newly created ----------id,which is required

                     Save: to where ---toScope

 

实例:

             

< bean:define id = "username2" scope = "request" name = "user" property = "username" toScope = "session" ></ bean:define >

              定义一个 Bean 的名字叫 username2

              这个是从 request 作用范围( scope )找 user 这个类( name )中的 username 这个属性( property )的值赋给 这个叫 username2 的这个 Bean

              然后在把这个 username2 bean 放到 session 作用范围中( toScope

             

              若将 scope = "request" 去掉怎么输出的时 会按照相应的变量名逐级查找

 

7.2 Bean :write 的属性

       用法备注

                     定义 user

                    

    User user = new User();

    user.setUsername( "Tom" );

    request.setAttribute( "user" , user);

    System.out.println(user.getUsername());

                    

       Bean 的定义( 1 ):

                    

< bean:define id = "username2" scope = "request" name = "user" property = "username" toScope = "session" ></ bean:define >

 

                     Bean:write

  得到 uesr 类中 username 属性的值;       

                    

< bean:write name = "username2" />

或者:

${applicationScope.username2 }

 

       Bean 的定义( 2 ):

             

< bean:define id = "username2" scope = "request" name = "user" toScope = "session" ></ bean:define >

 

                     Bean:write

  得到 uesr 类中 username 属性的值;

< bean:write name = "username2" property = "username" />

或者:

${applicationScope.username2.username }

 

       输出结果:

             

username2: Tom 或者: Tom

 

备注:

1

              若在 <bean : deifne> 标签中定义了 property 属性 ,使用 <bean : write> 标签 是就可以直接输出类中的属性值,反之 <bean : deifne> 没有定义 property 属性,则使用 <bean : write> 标签时 应定义 property 属性 限定答应出的属性。

              <bean : deifne> <bean : write> 都没有限定 property 属性,则输出结果如下:

             

username2: com.tag.User@cf3539

 

2

             

${applicationScope.username2.username }

              输出结果:

             

Tom

 

 

 

${applicationScope.username2 }

              输出结果:

             

com.tag.User@cf3539

你可能感兴趣的:(apache,编程,bean,jsp,struts)