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>标签
求出长度:数组、Collection、Map
标签肯定数据存放在四种属性范围之中
输出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