bean:write基本用法之一

 

Struts中的<bean:write name="neeke" scope="request" />标签相当于<%=request.getAttribute("neeke") %>,当然这里也不一定是request,也可能是session等,其中neeke是属性的名字。

首先我们来看一看action中的代码。

  1. package cn.ineeke.struts;
  2. import javax.servlet.http.HttpServletRequest;
  3. import javax.servlet.http.HttpServletResponse;
  4. import org.apache.struts.action.Action;
  5. import org.apache.struts.action.ActionForm;
  6. import org.apache.struts.action.ActionForward;
  7. import org.apache.struts.action.ActionMapping;
  8. public class BeanWriteAction extends Action {
  9.     @Override
  10.     public ActionForward execute(ActionMapping mapping, ActionForm form,
  11.              HttpServletRequest request, HttpServletResponse response)
  12.             throws Exception {
  13.              request.setAttribute("myblog", "<a href='http://www.ineeke.cn'>http://www.ineeke.cn</a>");
  14.             return mapping.findForward("success");
  15.      }
  16. }

上面这段代码的作用很简单,就是向request中存值,接着跳转到成功页面。再来看看成功页的代码是什么样的。

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5.    <head>
  6.      <title>Struts标签BeanWrite学习</title>
  7.    </head>
  8.    <body>
  9.      <bean:write name="myblog" scope="request"/>
  10.    </body>
  11. </html>

在上面的代码中,我们使用<bean:write>标签从request中将myblog取出,并显示在网页上。
此时是按照文本格式直接输出的,
而我们存放的时候是带HTML代码的,如果我们想让它以超级链接的形式显示在网页中呢?

其实这很简单,此标签有一个filter属性,其意在于是否以文本格式输出,默认情况下其值为true,所以我们只需将其改为如下所示即可。
<bean:write name="myblog" scope="request" filter="false"/>

http://www.ineeke.cn/archives/StrutsBeanWriteFilter/

首先要想使用struts的标签库,则必须在jsp中指定所使用的标签库地uri,即标签库的标准。引入方法如下:
<%@ taglib prefix="bean" http://struts.apache.org/tags-bean">http://struts.apache.org/tags-bean"%>
  接下来就可使用该标签库中的标签了,前缀是bean。我们这篇文章主要介绍write标签,bean:write相当于<%=request.getAttribute("something")%> 其中something是属性的名字。下面bean:write的详细介绍如下:

bean:write常用的属性有如下几个:
1。name,用来指定属性的名字
2。filter,用来指定是否屏蔽到属性值的HTML格式
3。property,用来指定name所代表的对象的属性名字
4。format,用来指定显示的时间,数字,日期等的格式

例子一:
某处设置了request.setAttribute("hello","hello world");
则在某个jsp页面中,用struts的write标签取出并显示的方式如下:
<bean:write name="hello"/>,则页面上显示出hello world。

例子二:
某处设置了request.setAttribute("bj","<font color='red>欢迎你</font>");
则在某个jsp页面中,用struts的write标签取出并按红色的方式显示的方式如下:
<bean:write name="bj" filter="false"/>,则页面上显示出红色的欢迎你。如果filter属性默认为true,如果不设置为false的话,则那么显示出的内容就为 <font color='red>欢迎你</font> 。

例子三:
某处设置了request.setAttribute("date",new Date());
则在某个jsp页面中,用struts的write标签取出并按指定方式显示日期的方法如下:
<bean:write name=“date”/>,此为默认的显示方法,显示出的时间为:Fri Mar 28 15:04:21 CST 2008
<bean:write name=“date” format="yyyy-MM-dd HH:mm:ss"/>,此为自己指定日期的显示格式,显示出的时间为2008-3-28 15:04:21

例子四:
某处设置了request.setAttribute("n",“1223333.333”);
则在某个jsp页面中,用struts的write标签取出并按指定方式显示数字的方法如下:
<bean:write name=“n”/>,此为默认的显示方法,显示出的数字位1223333.333
<bean:write name=“n” format="###,###.####"/>,此为自己指定数字的显示格式,显示出的时间为1,223,333.333
如果希望小数点后的不足四位时,缺位补0,则应
<bean:write name=“n” format="###,###.0000"/>,此为自己指定数字的显示格式,显示出的时间为1,223,333.3330

例子五:
假如有User类和Groupe类,User类有属性名字userName,年龄age,性别sex和所属的Groupe,Groupe类有属性组名groupeName,并均具有相应的get和set方法。
某处设置了request.setAttribute("user",new User("张三","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:write标签输出User-Agent:

<logic:present header="User-Agent">
    <bean:header id="header" name="User-Agent"/>
    <bean:write name="header"/>
</logic:present>

下面的代码片段示例了bean:write标签格式化输出当前日期,其中now是在DataForm中定义的一个java.util.Date类型的域(值为new Date()),format.date.standard是在资源文件中的一个键(format.date.standard=yyyy-MM-dd):

<bean:define id="date" name="dataForm" property="now"/>
<br/><bean:write name="date"/>
<br/><bean:write name="date" format="MM/dd/yyyy"/>
<br/><bean:write name="date" formatKey="format.date.standard"/>

上面代码运行的结果为:

Sun Jun 04 17:04:05 CST 2006
06/04/2006
2006-06-04

bean:write标签将指定的bean的属性值写到当前的JspWriter中,并且可以对输出进行格式化。

(一)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Bean是Java中的一个类,它包含一些属性和方法。将Bean转换成XML文件可以使用Java的XML编程技术。以下是一个简单的示例,将一个名为Person的Bean转换成XML文件。 首先创建一个Person类: ``` public class Person { private String name; private int age; private String gender; public Person(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } // Getters and setters for the properties public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } } ``` 接下来,我们需要使用Java的XML编程技术将Person类转换为XML文件。以下是一个示例: ``` import java.beans.XMLEncoder; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class BeanToXml { public static void main(String[] args) throws IOException { // Create a Person object Person person = new Person("John", 30, "Male"); // Create a XMLEncoder object to encode the object to XML XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("person.xml"))); // Write the object to the XML file encoder.writeObject(person); encoder.close(); } } ``` 在以上代码中,我们使用XMLEncoder类将Person对象编码为XML格式,并将其写入名为person.xml的文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值