DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > 经验分享 > Java组件

StrutsBean标签库

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

  • 用于访问HTTP请求信息或JSP隐含对象的Bean标签  

  • 用于访问Web应用资源的Bean标签  

  • 用于定义或者输出JavaBean的Bean标签


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

  • <bean:cookie>:访问Cookie信息  

  • <bean:header>:访问HTTP请求中的Header信息  

  • <bean:parameter>;访问请求参数。  

  • <bean:page>:访问JSP隐含对象。 

1.<bean:cookie>标签

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

<bean:cookie id="myCookie" name="tags/cookiedemo"  value="ddddddddd"/>
       <bean:write name="myCookie"  property="name"/>
       <bean:write name="myCookie"  property="value"/>
<%

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

%>

2.<bean:header>标签

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

<logic:present header="User-Agent">
     <!--  其它标签通过绑定到page作用域中的属性使用该值 -->
     您的浏览器是<bean:header id="userAgent"  name="User-Agent"/>
     <bean:write name="userAgent"  /><br/>
     <!-- JSP脚本通过scripting变量使用该值 -->
      <%
       out.println("您的浏览器是"+userAgent+"。<br/>");
%>
</logic:present>
    <%
         String id =  "userAgent";
         String name = "User-Agent";
         String value =  ((HttpServletRequest)pageContext.getRequest()).getHeader(name);
          out.println("============="+value);

     %>

3.<bean:parameter>标签

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

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

<html:link  page="/parameter2.jsptestString=this+is+a+test&testInt=123456">
         请求参数
</html:link>

<bean:parameter id="test1" name="testString" value="" />
      The  first test is: <bean:write name="test1" />

<bean:parameter id="test2" name="testInt" value=""/>
      The second  test is:<bean:write name="test2"/>

4.<bean:page>标签

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

<bean:page id="mySession" property="session"/>

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

%>

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

1.<bean:include>标签 该标签用语将其他web资源包含进当前页面中,和标准的JSP标签<jsp:include>很类似,都可以用来包含其他Web资源的内容,区别在于<bean:include>标签把其他的Web资源的内容存放在一个对象中,而不是直接显示到网页,<bean:include>标签的id属性定义一个代表其他Web资源的变量。  <bean:include id="value" page="/index.jsp"/>     //在当前资源中
<bean:write name="value" filter="false"/><br/> // filter为true则为原文件<%
     out.println(value);
%> 2.<bean:message>标签该标签用与显示资源文件中的消息文本。该标签有一个bundle属性,它和struts-config.xml文件中的messsge-resources标记内的key属性对应。 <message-resources parameter="com.resources" key="beanmessage">//struts-configmessage1=this is a test!
message2=this is a test too!//resource中 <bean:message bundle="beanmessage" key="message1"/>//jsp中 3.<bean:resource>标签
该标签用于检索、获得Web资源内容,如:网页的源代码。该标签的属性有:id有其他标签一样,name指定Web资源的路径,input如果没有设置,则id属性默认为一个字符类型对象,如果给input赋值yes,则id属性所定义的对象为java.IputStream。例如:      <bean:resource id="indexpage" name="/index.jsp"  input="yes"/>
    <bean:write name="indexpage"   filter="false"/> 4.<bean:struts>标签
该标签用于获取Struts框架内的一些对象,如AationForm和ActionForward等。。<bean:struts>标签的id属性定义一个page范围的变量,用来引用Struts框架的内在对象,必需设置formbean,forward,mapping属性中的一个属性,来指定被引用的Struts内在对象。formbean属性:指定ActionFormBean对象,和struts配置文件的<form-bean>元素匹配。forward属性;指定ActionForward对象,和配置文件的<global-forwards>元素的<forward>子元素匹配。mapping属性:指定ActionMapping对象,和配置文件的<action>元素匹配例如:<bean:struts id="listFormBean"  formBean="listForm"/>
name:<bean:write name="listFormBean"  property="name"/><br/>
type:<bean:write name="listFormBean"  property="type"/><br/>
dynamic:<bean:write name="listFormBean"  property="dynamic"/><br/>


<bean:define>:用于定义一个变量。
<bean:write>:  显示JavaBean属性的内容。
<bean:size>:  获得集合对象或数组对象的长度。 1.<bean:define>标签
该标签用于定义一个变量,id属性指定变量的名字,toScope属性指定这个变量的存放范围,如果没有设置,则这个变量存放在page范围内,给id属性定义的变量赋值有三种方式:
第一种是,通过value属性直接赋值;
第二种是,通过name和porperty共同指定一个变量来给id所定义的变量,name——bean,porperty——属性;
第三种是,通过type属性和name联合指定id所定义的变量类型,type——id定义变量的完整类型,name——存在的javaBean。例如:
     <bean:define id="string" value="this is a test"/>
    <bean:write  name="string"/>--%><%
    Date d = new Date();
     pageContext.setAttribute("currDate",d);
%>
<bean:define  id="milliseconds" name="currDate" property="time"/>当前时间距离1970年1月1日的毫秒数为:<bean:write name="milliseconds"/> 2.<bean:size>标签
该标签用于获取集合或者数组的长度。
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);
      %>
       <bean:size id="size" name="listforcount"/>
        长度为:<bean:write name="size"/> 3.<bean:write>标签
该标签用于输出各种类型的对象,有点类似与System.out.println()。例如:
<%
String a =  "string for test";
pageContext.setAttribute("test",a);
%>
<bean:write name="test"/>

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号