随笔-28  评论-15  文章-81  trackbacks-0
 

Struts标签之Bean标签

Bean标签:主要与JavaBean有关

回顾:

   <jsp:useBean id=”对象名称” scope=”保存范围(四种属性范围)” class=”.”>

   <jsp:setProperty name=”id(jsp:useBean中使用)” property=”属性” />

   <jsp:getPorperty name=”id” property=”属性” />

 只要是通过标签设置的对象,则自动将对象保存在一个固定的范围之中,同scope指定

 一般对象都使用”id”进行表示

 如果要使用对象,在标签通过”name”属性完成

1、 Bean标签

     Struts中提供了一系列的与JavaBean有关的操作标签,称为Bean标签

1.1<bean:define>标签

       定义或复制一个对象

       定义对象一般为String类型

       复制对象->迭代标签

<bean:define id=”str” value=”Hello World” />

<h1>${str}</h1>

如果可以通过EL进行访问,则表示”str”保存在了四种属性范围之中,等同于下面的语句:

   String str = “Hello World”

   pageContext.setAttribute(“str”,str);

如果不使用EL该如何输出呢?通过Struts中的<bean:write>进行打印

 <bean:write name=”str” />

<%@ page contentType="text/html;charset=gb2312"%>

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

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html:html lang="true">

 <head>

 <title>BeanDemo01.jsp</title>

 </head>

 

 <body>

    <bean:define id="str" value="Hello World"></bean:define>

    <h1>${str}</h1>

    <h2><bean:write name="str"/></h2>

 </body>

</html:html>

强调: id:就表示一个存放在四种属性范围之中的名称

       name:表示使用一个存放在四种属性范围中的对象

1.2<bean:size>标签

求出长度:数组、CollectionMap

标签肯定数据存放在四种属性范围之中

输出Map长度

<%@ page contentType="text/html;charset=gb2312"%>

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

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

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html:html lang="true">

 <head>

 <title>BeanDemo02.jsp</title>

 </head>

 

 <body>

   <%

      Map m = new HashMap();

      m.put("one","1");

      m.put("two","2");

      m.put("three","3");

      //Map对象保存在四种属性范围之中

      request.setAttribute("map",m);

   %>

   <bean:size id="len" name="map" scope="request"/>

   <h1>长度是:${len }</h1>

 </body>

</html:html>

输出Collection长度

<%@ page contentType="text/html;charset=gb2312"%>

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

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

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html:html lang="true">

 <head>

 <title>BeanDemo3.jsp</title>

 </head>

 

 <body>

   <%

      Collection co = new ArrayList();

      co.add("one");

      co.add("two");

      co.add("three");

      //co对象保存在四种属性范围之中

      request.setAttribute("coll",co);

   %>

   <bean:size id="len" name="coll" scope="request"/>

   <h1>长度是:${len }</h1>

 </body>

</html:html>

1.3<bean:write>标签

   打印对象,也可以打印对象中的属性

   JSP2.0中可以使用EL代替Struts中的<bean:write>标签

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="com.tanm.struts.*" %>

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

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html:html lang="true">

 <head>

 <title>BeanDemo04.jsp</title>

 </head>

 

 <body>

   <%

     SimpleBean simple = new SimpleBean();

     simple.setName("张三");

     simple.setPassword("15202");

     //将此对象保存在属性范围之中

     request.setAttribute("simple",simple);

   %>

   <h1>使用EL:</h1>

   <h2>姓名: ${simple.name }</h2>

   <h2>密码: ${simple.password }</h2>

   <hr>

   <h1>使用Bean标签:</h1>

   <h2>姓名: <bean:write name="simple" property="name" scope="request"/></h2>

   <h2>密码: <bean:write name="simple" property="password" scope="request"/></h2>

 </body>

</html:html>

1.4<bean:message>标签

   Struts国际化

   Struts中存在一个资源文件(用于保存所有的错误消息)

 <bean:message>标签中提供了一个占位功能,在输出的文件中占着一位,这一位的数据等待标签填写

 Welcome="u6bb22"u8fce{0}"u5159"u4e34

<%@ page contentType="text/html;charset=gb2312"%>

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

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html:html lang="true">

 <head>

 <title>BeanDemo04.jsp</title>

 </head>

 

 <body>

     <bean:message key="welcome" arg0="谭明"/>

 </body>

</html:html>

posted on 2007-10-17 16:31 谭明 阅读(997) 评论(0)  编辑  收藏 所属分类: Struts

只有注册用户登录后才能发表评论。


网站导航: