Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1018071
  • 博文数量: 243
  • 博客积分: 3053
  • 博客等级: 中校
  • 技术积分: 2975
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-02 21:11
文章分类

全部博文(243)

文章存档

2013年(2)

2012年(20)

2011年(5)

2010年(114)

2009年(102)

我的朋友

分类:

2009-06-15 13:24:41

一、 访问HTTP请求信息或JSP隐含对象

     1、标签:

           该标签用于从HTTP请求中提取Header信息,示例如下:

         

           提取的信息是:

          解释:将请求Header中的Accept-Language属性存储到page范围内的变量Language中!然后输出!

    2、标签:

          该标签用于检索请求参数,示例如下:

          

          解释:将name属性指定的参数值存储到id属性指定的变量中,如果不存在这样的参数,那么采取value属性指定的默认值! 对于multiple属性它是用于检索所有同名参数,此时id属性指定的变量不再为String类型,而是String[]类型!注意multiple属性值只需指定任意字符串,不一定要yes!

    3、标签:

          该标签用于访问客户端的 Cookie 信息,示例如下:

       

        解释:将name属性指定的cookie值存储到id属性指定名称的javax.servlet.http.Cookie类型变量中,如果不存在这样的参数,那么采取value属性指定的默认值!         对于multiple属性它是用于检索所有同名参数,此时id属性指定的变量不再为javax.servlet.http.Cookie类型,而是javax.servlet.http.Cookie[]类型!注意multiple属性值只需指定任意字符串,不一定要yes!注意cookie是以name/value的形式存在的!

    4、标签:

         该标签用于引用JSP的隐含对象,这些对象包含 Session,config,request,Response,Application五个隐含对象!示例如下:

       

      session范围内存储的userid属性值为:

      解释:首先将session引入到page范围内的this_session变量中,此时this_session为session类型的变量!接下来用标签输出session中的userid属性!

------------------------------------------

二、访问WEB应用资源

   1、标签:

        该标签的使用非常广泛,用于显示资源文件中的信息,示例如下:

        a、

               解释:显示bundle属性指定的资源文件的key属性所代表的字符串,这是最常用的!

        b、

              解释:将name属性指定的变量值作为bundle属性指定的资源文件的key,显示key代表的字符串!

        c、

               解释:将name属性指定的Bean中的property属性的值作为bundle指定的资源文件的key,输出key所代表的字符串!

       d、

               解释:在资源文件中需要参数的时候就采用这种方式传递参数,如果有N个参数那就按照argN一直传递下去!

   2、标签:

        该标签是表示把指定的web资源装载到一个JavaBan中,示例如下:

      

      解释:以上代码是将index.jsp文件以inputStream的形式保存在id指定的变量中!注意如果不设置input属性,那么id属性指定的变量为字符串类型,他保存的是index.jsp的内容!另外input属性可以设置任意值!个人觉得这个标签的作用不大,在调试的时候可以使用!

   3、标签:

     该标签用于检索struts框架内在的对象,示例如下:

    

     解释:该标签使用不是很广泛,需要时再查询!

   4、标签:

     该标签使用不是很广泛,需要时再查询!

-----------------------------------------------------------------------------------------------------------

三、定义变量或输出

   1、标签:

      该标签用于定义一个变量,示例如下:

     a 、   

    解释:以上代码定义一个普通的字符串id属性指定变量的名称,value指定变量的值!以上标签等价于:String name="chenshan";

    b、

    解释:以上代码定义一个nm变量,该变量的值是由name属性指定的已经存在的javabean的userName属性的值!所以name属性指定javabean,property指定bean的属性!

    c、

    解释:以上代码定义了一个名为"nm"的变量,该变量引用已经存在的persionBean!注意,对于由name属性指定已经存在的javaBean,标签会依次从page、request、session、appliction范围内查找,此外也可以设置scop属性来明确指定这个已经存在的javaBean,这样标签就会在指定的范围内寻找JavaBean!

   2、标签:

         该标签用于计算Map、Collection或数组的长度,示例如下:

       

        名称列表的长度是:

        解释:略~~~

   3、标签:

        该标签的使用也是非常多的,它用于在网页上输出变量值和某个已经存在的Bean的属性值!示例如下:

        <%

             request.setAttribute("floatval",Float.valueOf("2.0123456"));

             Calendar gc=GregoriCalendar.getInstance();//定义一个时间类型的变量

             gc.setTime(new java.util.Date(session.getCreationTime()));

             request.setAttribute("now",gc);

        %>

       

         解释:按照format指定的格式四舍五入显示数据!

        

        解释:按照指定的时间格式输出时间!

        另外标签的filter属性也是非常重要的,他表示是否按照HTML格式编译输出的信息;默认值为true-不编译,如果设置为false,就表示要编译,那么将输出HTML标记类型的信息!

Struts Bean标签库中的标签可以访问已存在的JavaBean以及它们的属性,还可以定义新的Bean,把它存放在page范围内或用户指定的范围内,供网页其他元素访问。Bean标签库大概分为三类:

  • 用于访问HTTP请求信息或JSP隐含对象的Bean标签
  • 用于访问Web应用资源的Bean标签
  • 用于定义或者输出JavaBean的Bean标签

访问HTTP请求信息或JSP隐含对象
  • :访问Cookie信息
  • :访问HTTP请求中的Header信息
  • ;访问请求参数。
  • :访问JSP隐含对象。

1.标签

该标签可以检索保存在浏览器中的Cookie,具有属性id,name,multiple,value,id是对cookie在该页面中的唯一标识,在页面其它地方可以通过id进行引用。相当于用cookie直接引用。Name是相应的cookie名称。Multiple可以赋予任意值,如果设置了该属性,可以检索出所有和Cookie名字匹配的Cookie名字匹配的Cookie,此时,id属性定义了一个Cookie数组类型的变量,而不是单个Cookie类型的变量。例如:


       
       
<%

      String names=myCookie.getName();
      String value=myCookie.getValue();
      out.println("this cookie name is "+names+",value is "+value+"");

%>

2.标签

该标签用于检索HTTP请求中的Header信息。如果没有指定multiple属性则依据刚取回的值创建一个String类型的bean。如果指定了multiple属性则依据刚取回的值创建一个String[]类型的数组。例如:


     
      您的浏览器是
     

     
      <%
        out.println("您的浏览器是"+userAgent+"。
");
%>

     <%
          String id = "userAgent";
          String name = "User-Agent";
          String value = ((HttpServletRequest)pageContext.getRequest()).getHeader(name);
          out.println("============="+value);

      %>

3.标签

该标签用于检索HTTP请求参数,具有以下属性:
id属性:定义一个java.lang.String类型的变量,这个变量存放在page范围内。
name属性:指定请求参数名。
value属性:请求指定参数的默认值

如果没有指定multiple属性则依据刚取回的值创建一个String类型的bean。如果指定了multiple属性则依据刚取回的值创建一个String[]类型的数组。例如:


         请求参数


       The first test is:


       The second test is:

4.标签

该标签用于检索获取JSP隐含对象,如session、request和response等,具有以下属性:
id属性:定义了一个引用隐含对象的变量,这个变量存放在page范围
property属性:指定隐含对象的名字,可选值包括application,config,request,response,session 例如:

<%
      out.println("Session time:"+mySession.getCreationTime());

%>

:显示Resource Bundle中的消息。
;把Web资源装载到一个JavaBean中。
;访问Struts的内在配置对象。
;包含一个web资源。

1.标签
该标签用语将其他web资源包含进当前页面中,和标准的JSP标签很类似,都可以用来包含其他Web资源的内容,区别在于标签把其他的Web资源的内容存放在一个对象中,而不是直接显示到网页,标签的id属性定义一个代表其他Web资源的变量。
      //在当前资源中

// filter为true则为原文件
<%
      out.println(value);
%>
2.标签
该标签用与显示资源文件中的消息文本。该标签有一个bundle属性,它和struts-config.xml文件中的messsge-resources标记内的key属性对应。
//struts-config
message1=this is a test!
message2=this is a test too!
//resource中
//jsp中
3.标签
该标签用于检索、获得Web资源内容,如:网页的源代码。该标签的属性有:id有其他标签一样,name指定Web资源的路径,input如果没有设置,则id属性默认为一个字符类型对象,如果给input赋值yes,则id属性所定义的对象为java.IputStream。例如:
  
    
    
4.标签
该标签用于获取Struts框架内的一些对象,如AationForm和ActionForward等。。标签的id属性定义一个page范围的变量,用来引用Struts框架的内在对象,必需设置formbean,forward,mapping属性中的一个属性,来指定被引用的Struts内在对象。
formbean属性:指定ActionFormBean对象,和struts配置文件的元素匹配。
forward属性;指定ActionForward对象,和配置文件的元素的子元素匹配。
mapping属性:指定ActionMapping对象,和配置文件的元素匹配
例如:

name:

type:

dynamic:


:用于定义一个变量。
: 显示JavaBean属性的内容。
: 获得集合对象或数组对象的长度。
1.标签

该标签用于定义一个变量,id属性指定变量的名字,toScope属性指定这个变量的存放范围,如果没有设置,则这个变量存放在page范围内,给id属性定义的变量赋值有三种方式:
第一种是,通过value属性直接赋值;
第二种是,通过name和porperty共同指定一个变量来给id所定义的变量,name——bean,porperty——属性;
第三种是,通过type属性和name联合指定id所定义的变量类型,type——id定义变量的完整类型,name——存在的javaBean。例如:
    
     --%>
<%
     Date d = new Date();
     pageContext.setAttribute("currDate",d);
%>
当前时间距离1970年1月1日的毫秒数为:
2.标签

该标签用于获取集合或者数组的长度。
id属性定义一个Integer类型的变量,那么属性指定已经存在的Map,Collection或数组变量,id属性定义的变量值为Map,collection或数组的长度。
name属性为对象名字。例如:
   
      <%
ArrayList testlist=new ArrayList();
testlist.add(new Integer(1));
testlist.add(new Integer(2));
testlist.add(new Integer(3));
      pageContext.setAttribute("listforcount",testlist);
      %>
       
        长度为:
3.标签

该标签用于输出各种类型的对象,有点类似与System.out.println()。例如:
<%
String a = "string for test";
pageContext.setAttribute("test",a);
%>
 
 
阅读(4904) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~