<bean:write>标签

<bean:write>能输出request、session、application、page四个域中能访问到的变量,与EL表达式不同的是,如果变量不存在或者访问不到,会抛出异常

<bean:write>常用的属性有如下几个:

1、name,用来指定属性的名字

2、filter,用来指定是否屏蔽到属性值的HTML格式

3、property,用来指定name所代表的对象的属性名字

4、format,用来指定显示的时间,数字,日期等的格式

例1:

某处设置了request.setAttribute("hello","helloworld");

则在某个jsp页面中,用struts的write标签取出并显示的方式如下:

<bean:writename="hello"/>,则页面上显示出hello world。

例2:

某处设置了request.setAttribute("bj","<fontcolor='red>欢迎你</font>");

则在某个jsp页面中,用struts的write标签取出并按红色的方式显示的方式如下:

<bean:writename="bj" filter="false"/>,则页面上显示出红色的欢迎你。如果filter属性不设置为false,则默认为true,那么显示出的内容就为<fontcolor='red>欢迎你</font>。

例3:

某处设置了request.setAttribute("date",newDate());

则在某个jsp页面中,用struts的write标签取出并按指定方式显示日期的方法如下:

<bean:writename=“date”/>,此为默认的显示方法,显示出的时间为:

Fri Mar 2815:04:21 CST 2008

<bean:writename=“date” format="yyyy-MM-dd HH:mm:ss"/>,此为自己指定日期的显示格式,显示出的时间为2008-3-28 15:04:21

例4:

某处设置了request.setAttribute("n",“1223333.333”);

则在某个jsp页面中,用struts的write标签取出并按指定方式显示数字的方法如下:

<bean:writename=“n”/>,此为默认的显示方法,显示出的数字位1223333.333

<bean:writename=“n” format="###,###.####"/>,此为自己指定数字的显示格式,显示出的时间为1,223,333.333

如果希望小数点后的不足四位时,缺位补0,则应

<bean:writename=“n” format="###,###.0000"/>,此为自己指定数字的显示格式,显示出的时间为1,223,333.3330

例5:

假如有User类和Groupe类,User类有属性名字userName,年龄age,性别sex和所属的Groupe,Groupe类有属性组名groupeName,并均具有相应的get和set方法。

某处设置了request.setAttribute("user",newUser("张三","20","男",new Groupe("三组")));

则在某个jsp页面中,用struts的write标签取出并按指定方式显示结构体的方法如下:

用户名:<input type="text" value="<bean:write name="user" property="userName"/>">
年龄:<input type="text" value="<bean:write name="user" property="age"/>">
性别:<input type="text" value="<bean:write name="user" property="sex"/>">
组名:<input type="text" value="<bean:write name="user" property="groupe.groupeName"/>">

<bean:cookie>、<bean:parameter>、<bean:header>标签

<bean:cookie>、<bean:parameter>、<bean:header>标签用于获取cookie、地址栏参数、header中的对象,这几个标签不能输出,只能将获取到的对象保存到另一个变量中,供其他标签使用

<bean:cookie id="sessionid" name="JSESSIONID"/> <!--获取cookieJSESSIONID放进名为sessionid的变量中-->
<bean:write name="sessionid" property="value"/>

<bean:parameter id="action1" name="action2"/>  <!--获取地址栏名为action2的参数,放入名为action1的变量中-->
<bean:write name="action1" />

<bean:header id="host1" name="host"/>  <!--获取Header参数host,放入变量host1-->
<bean:write name="host1" />

<bean:message>标签

<bean:message>标签用于输出ResourceBundle中的一条消息.<bean:message>标签的bundle属性指定Resource Bundle,它和Struts配置文件的<message:resource>元素的可以属性相匹配.如果没有设置bundle属性,就采用默认的ResourceBundle。

Beantaglibs应用的Struts配置文件(Struts-config.xml)中配置了两个ResourceBundle:

<message-resources parameter="ApplicationResource" />
<message-resources parameter="SpecialResouces" key="special"/>

第一个Resource bundle 没有指定key属性,因此默认的ResourceBundle,它的资源文件ApplicationResource.properties,在这个文件中定义一条消息:

.hello=Hello,{0}

第二个Resource bundle指定key属性为”special”,它的资源文件为SpecialResources.properties,这个文件中定义了一条消息:

.hello=Hello,everyone!

在<bean:message>标签中指定消息key有三种方式:

1.<bean:message>标签的key属性直接指定消息key,例如:

<bean:message bundle="special" key="hello"/>

2.<bean:message>标签的name属性指定一个可以转化为字符串的变量,这个变量的字符串值为消息key,例如:

<%
              //这个hello要对应到资源文件中的hello
              Request.setAttribute("StringBean","hello");
%>
 <bean:message bundle="special" name="stringBean"/>

3.同时指定<bean:message>标签的name属性和property属性.name属性指定一个JavaBean,property属性指定JavaBean的一个属性,这个JavaBean的属性的值就是消息的key,例如

<%
              SomeBean bean = new SomeBean();
               Bean.setName("hello");
               Request.setAttribute("someBean",bean);
%>
 <bean:message bundle="special" name="someBean" property="name"/>

上面定义一个SomeBean类型的someBean变量,它的name属性为”hello”,因此消息的key为”hello”

对于带参数的复合消息,可以使用Bean:message标签中的arg0,arg1等属性来设置参数值

<bean:message key="hello" arg0="Linda"/>

资源文件ApplicationResources.properties

welcome =<h1>欢迎光临!!!!!!</h1>
welcome1 =<h1>欢迎 {0} 光临!!!!!!</h1>

<bean:resource>标签

<bean:resource>标签用于检索Web资源的内容,它具有以下属性:

1.  id属性:定义一个代表Web资源的变量。

2.  name属性:指定Web资源的路径。

3.  input属性:如果没有设置input属性,则id属性定义的变量为字符串类型;如果给input属性设置了值(可以是任意字符串),则id属性定义的变量为java.io.InputStream类型。

<bean:struts>标签

<bean:struts>标签用于检索Struts框架内在的对象,如ActionFormBean、ActionForward或ActionMapping。<bean:struts>标签的id属性定义一个page范围的变量,用来引用Struts框架的内在对象。必须设置formbean、forward或mapping属性中的一个属性,来指定被引用的Struts内在对象:

1.  formbean属性:指定ActionFormBean对象,和Struts配置文件的<form-bean>元素匹配。

2.  forward属性:指定ActionForward对象,和Struts配置文件的<global-forwards>元素的<forward>子元素匹配。

3.  mapping属性:指定ActionMapping对象,和Struts配置文件的<action>元素匹配。

<bean:include>标签

<bean:include>标签和标准的JSP标签<jsp:include>很相似,都可以用来包含其他Web资源的内容,区别在于<bean:include>标签把其他Web资源的内容存放在一个变量中,而不是直接显示到网页上。<bean:include>标签的id属性定义一个代表其他Web资源的变量。

可以通过<bean:include>标签的forward、page或href属性来指定其他Web资源:

1.  forward:指定全局转发路径,和Struts配置文件的<global-forwards>元素中的<forward>子元素匹配。

2.  page:指定相对于当前应用的URI,以“/”开头。

3.  href:指定完整的URL。

Struts 1 之<bean>标签库的更多相关文章

  1. 【转】Struts1.x系列教程(6):Bean标签库

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...

  2. Struts 有哪些常用标签库

    Struts 有哪些常用标签库 1.html标签库 2.bean标签库 3.logic标签库

  3. 菜鸟学习Struts——bean标签库

    一.Struts标签库. Struts实际上包含了4个标签库:bean,logic,html,tiles bean:用来在属性范围中定义或取得属性的,同时可以读取资源文件信息 logic:替代JSTL ...

  4. Struts 1 之<logic>标签库

    1. logic:empty logic:empty标签是用来判断是否为空的.如果为空,该标签体中嵌入的内容就会被处理.该标签用于以下情况: 当Java对象为null时 当String对象为" ...

  5. Struts 1 之<html>标签库

    <html:html>标签 <html:html>标签用于在网页开头生成HTML的<html>元素,它只有一个用于显示用户语言的lang属性: <html:h ...

  6. Struts(22)标签库具体解释

    要使用Struts2的标签,仅仅须要在JSP页面加入例如以下一行定义就可以: <%@ taglib prefix="s" uri="/struts-tags&quo ...

  7. jstl标签库基础教程及其使用代码

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  8. Struts、JSTL标签库的基本使用方法

    一 使用Struts标签之前需要经过下面3个步骤的配置. 1.导入TLD文件. 2.在web.xml中注册标签库. 3.在页面中引入标签库. 下面详细介绍以上步骤. 1 导入TLD文件. TLD文件是 ...

  9. Struts 有哪些经常使用标签库

    Struts 有哪些经常使用标签库 1.html标签库 2.bean标签库 3.logic标签库

随机推荐

  1. GotoAndPlay

    10月3日,在杭州市西湖景区,一只小松鼠不停地接受一道道食物,花生.玉米.饼干,可谓来者不拒,憨态可掬的模样吸引了众多围观者...Description   小松鼠终于吃撑了,她决定逃离这个地方. 我 ...

  2. [JSOI2007]祖码Zuma

    题目描述 这是一个流行在Jsoi的游戏,名称为祖玛. 精致细腻的背景,外加神秘的印加音乐衬托,彷佛置身在古老的国度里面,进行一个神秘的游戏——这就是著名的祖玛游戏.祖玛游戏的主角是一只石青蛙,石青蛙会 ...

  3. USACO 2017 US Open

    只会做T1,FallDream T2 n^2暴力AC,太强啦. T1.Modern Art 题目大意:有一个n*n的矩阵,一开始都是0,你有n^2种颜色,编号1到n^2,每次可以选出一种颜色涂满一个子 ...

  4. 51Nod 1530 稳定方块

    瓦西亚和皮台亚摆放了m个方块.方块被编号为0到m-1(每个号码出现恰好一次).现在建立一个座标系OX表示地面,OY的方向是竖直向上的.每一方块的左下角有一个座标而且是整点座标. 摆放好的方块一定要是稳 ...

  5. hihiocoder 1255(搜索)(2015ACM/ICPC北京站)

    题意: 给你四个矩形,判断能否从中选出3个组成一个矩形 思路: 1.搜索,如果两个能组成一个新的,则将他们合并,继续搜索 2.暴力判断 最开始没注意到3,一直以为要用4个,WR #include &l ...

  6. bzoj1044[HAOI2008]木棍分割 单调队列优化dp

    1044: [HAOI2008]木棍分割 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4314  Solved: 1664[Submit][Stat ...

  7. Frame buffer分析 - fbmem.c【转】

    转自:http://www.cnblogs.com/armlinux/archive/2012/03/01/2396753.html 45 struct fb_info *registered_fb[ ...

  8. Python作业之三次登陆锁定用户

    作业之三次登陆锁定用户 作业要求如下: 1. 输入用户名和密码 2. 认证成功提示欢迎信息 3. 认证失败三次锁定用户 具体代码如下: 方法1: import os#导入os模块 if os.path ...

  9. Debugging TensorFlow models 调试 TensorFlow 模型

    Debugging TensorFlow models Symbolic nature of TensorFlow makes it relatively more difficult to debu ...

  10. TeamForge使用指南

    1.什么是TeamForge 可以把TeamForge简单的理解为另外一种github 2.TeamForge的地址 与Project有关,一般会有明确的Link 3.TeamForge登录 用户名和 ...