科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道运用Filter,ThreadLocal和Reflection,实现form到bean的填充

运用Filter,ThreadLocal和Reflection,实现form到bean的填充

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

以Filter截取请求,填充至bean,并将此bean保存至ThreadLocal,在使用时直接从ThreadLocal中获取。

作者:Nurhachi Jang 来源:CSDN 2008年2月28日

关键字: java ThreadLocal Filter

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

Bean样例:

/*
 * SimpleBean.java
 *
 * Created on 2006年9月20日, 下午5:51
 */

package org.openthoughts.beans;

import Java.io.Serializable;
import Java.util.HashMap;

/**
 * @author Administrator
 */
public class SimpleBean implements Serializable {
   
    private String userName;
   
    private String password;
   
    public SimpleBean() {
       
    }
   
    public String getUserName() {
        return userName;
    }
   
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }
   
    public void setPassword(String password) {
        this.password = password;
    }
   
    //错误信息
    public HashMap getAllErrors() {
        return new HashMap();
    }
}



ThreadLocal实现:

/*
 * Form2BeanUtil.java
 *
 * Created on 2006年9月20日, 下午4:51
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package org.openthoughts.util;

/**
 * Hold formbean for appropriate thread via ThreadLocal.
 *
 * @author <a href="guangquanzhang@gmail.com">javafuns</a>
 */
public class Form2BeanUtil {
   
    private static final ThreadLocal container = new ThreadLocal();
   
    /**
     * Put the form bean to ThreadLocal.
     */
    public static void put(Object object) {
        container.set(object);
    }
   
    /**
     * Get the current thread's form bean.
     */
    public static Object get() {
        return container.get();
    }
}


PS: 类似的方式在很多框架都有实现,比如struts的formbean
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章