ÍøÂç±à³Ì | Õ¾³¤Ö®¼Ò | ÍøÒ³ÖÆ×÷ | ͼÐÎͼÏó | ²Ù×÷ϵͳ | ³åÀ˱¦µä | Èí¼þ½Ìѧ | ÍøÂç°ì¹« | Óʼþϵͳ | ÍøÂ簲ȫ | ÈÏÖ¤¿¼ÊÔ | ϵͳ½ø³Ì
Firefox | IE | Maxthon | ѸÀ× | µç¿ | BitComet | FlashGet | QQ | QQ¿Õ¼ä | Vista | ÊäÈë·¨ | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
µ±Ç°Î»Öà > ÍøÕ¾½¨ÉèѧԺ > ÍøÂç±à³Ì > Java
Tag:×¢Èë,´æ´¢¹ý³Ì,·ÖÒ³,°²È«,ÓÅ»¯,xmlhttp,fso,jmail,application,session,·ÀµÁÁ´,stream,ÎÞ×é¼þ,×é¼þ,md5,ÂÒÂë,»º´æ,¼ÓÃÜ,ÑéÖ¤Âë,Ëã·¨,cookies,ubb,ÕýÔò±í´ïʽ,ˮӡ,Ë÷Òý,ÈÕÖ¾,ѹËõ,base64,urlÖØÐ´,ÉÏ´«,¿Ø¼þ,Web.config,JDBC,º¯Êý,ÄÚ´æ,PDF,Ç¨ÒÆ,½á¹¹,ÆÆ½â,±àÒë,ÅäÖÃ,½ø³Ì,·Ö´Ê,IIS,Apache,Tomcat,phpmyadmin,Gzip,´¥·¢Æ÷,socket
ÍøÂç±à³Ì£ºASP½Ì³Ì,ASP.NET½Ì³Ì,PHP½Ì³Ì,JSP½Ì³Ì,C#½Ì³Ì,Êý¾Ý¿â,XML½Ì³Ì,Ajax,Java,Perl,Shell,VB½Ì³Ì,Delphi,C/C++½Ì³Ì,Èí¼þ¹¤³Ì,J2EE/J2ME,ÒÆ¶¯¿ª·¢
±¾ÔÂÎÄÕÂÍÆ¼ö
.JavaÐÂÊÖÁôÒ⣺Java±à³ÌÈýÊ®Ìõ¹æ.
.ʹÓÃAnnotationÉè¼Æ³Ö¾Ã²ã.
.ÖØ´¸Í´»÷??¼æÑ§Ï°JAVA£¬ÓéÀÖΪһ.
.×÷Á˸öС²âÊÔequals ºÍ£½£½.
.NetBeans IDE 4.1 ¿ìËÙÈëÃÅÖ¸ÄÏ(.
.½«JavaÓ¦ÓóÌÐò±¾µØ±àÒëΪEXEµÄ¼¸.
.GetAbsolutePathName ·½·¨.
.»ùÓÚJavaÏß³ÌʵÏÖºǫ́¶¨Ê±¼à¿Ø.
.ChartDirectorÖù״ͼʹÓ÷½·¨.
.J2EEÓ¦Ó÷þÎñÆ÷(Jboss+Tomcat)°².
.Struts 1.2.2 й¦ÄÜÈ«ÐÂÌåÑé.
.¼òµ¥µÄÍøÒ³¹Ø¼ü´ÊÆ¥Å乤¾ß.
.JBuliderXÖйâ±ê´íλ¼°ÖÐÎÄÎÊÌâ°ì.
.JBuilder³£¼ûÒÉÄÑÎÊÌâ½â´ð.
.Java·±ÌåÖÐÎÄ´¦ÀíÍêÈ«¹¥ÂÔ.
.updateºÍsaveOrUpdateÏîĿ˼·Ïê.
.VelocityÖеıäÁ¿ÎÊÌâµÄ½â¾ö·½·¨.
.Java Óë XML ½áºÏʹÓõÄÐĵÃÌå»á.
.½çÃæ´úÂëÖØ¹¹ÓиÐ.
.wait()ºÍnotify()µÄ¼òµ¥µ÷ÓóÌÐò.

Jakarta Commons BeanUtils(ת)

·¢±íÈÕÆÚ£º2008-1-5



¡¡¡¡1.¼ò½é
ÔÚÒ»°ãµÄдbean×é¼þµÄʱºò£¬¶¼±ØÐëҪдsetterºÍgetter·½·¨£¬µ±È»¼ÙÈçÎÒÃÇÊÂÏÈÒѾ­ÖªµÀbeanµÄÏà¹ØÊôÐÔºÍ
·½·¨£¬Ð´beanÊDZȽϼòµ¥µÄ£¬µ«ÊÇ×é¼þÌ«¶àµÄʱºò£¬Öظ´±àд¾­³£ÊÇ¿ÝÔ﷦ζÁîÈËÑá·³µÄ¡£µ«µ±ÓÐЩʱºòÎÒôÐè
Òªµ÷Óö¯Ì¬¶ÔÏóµÄÊôÐÔµÄʱºò£¬ÎÒÃÇÓ¦¸ÃÔõôÀ´É趨ºÍ»ñÈ¡¶ÔÏóµÄÊôÐÔÄØ£¿BeanUtils¾Í¿ÉÒÔ°ïÖúÎÒÃÇÀ´½â¾öÕâ
¸öÎÊÌâ¡£ËüÐèÒªCollections°üºÍlogging°üµÄÖ§³Ö¡£×îа汾1.7,Îĵµ»¹ÊÇ1.6.1µÄ.
2.ÒѾ­Ê¹ÓÃBeanUtilsµÄÊÂÀý
*¹¹½¨ºÍJava¶ÔÏóÄ£Ðͽ»»¥µÄ½Å±¾ÓïÑÔ£¬±ÈÈçBean Scripting Framework
*¹¹½¨web²ãÏÔʾºÍÏàËÆÓÃ;µÄÄ£°åÓïÑÔ´¦ÀíÆ÷£¬Èçjsp»òÕßVelocity
*¹¹½¨ÊÊÓÃÓÚjspºÍxsp»·¾³µÄ×Ô¶¨Òå±êÇ©¿â£¬ÈçJakarta Taglibs,Struts,Cocoon
*´¦Àí»ùÓÚXMLµÄÅäÖÃ×ÊÔ´Îļþ£¬ÈçAnt´´½¨½Å±¾£¬Ó¦ÓóÌÐò²¿ÊðÎļþºÍTomcatµÄxmlÅäÖÃÎļþ
3.API¼ò½é
BeanUtils µÄ Java API Ö÷ÒªµÄ package ×ܹ²Ëĸö
org.apache.commons.beanutils
Õâ¸öÊÇBeanUtils×î»ù±¾µÄ°ü£¬ÌṩÁË´¦ÀígetterºÍsetter·½·¨ÊôÐÔµÄÀà
org.apache.commons.beanutils.converters
Converter½Ó¿ÚµÄ±ê׼ʵÏÖ£¬ÔÚÆô¶¯µÄʱºòºÍConvertUtilsһͬע²á
org.apache.commons.beanutils.locale
×é¼þµÄ±¾µØ»¯´¦Àí°ü
org.apache.commons.beanutils.locale.converters
LocaleConverter½Ó¿ÚµÄ±ê׼ʵÏÖ£¬Æô¶¯µÄʱºòºÍLocaleConvertUtils һͬע²á
4.org.apache.commons.beanutils½éÉÜ
ÕâËĸö°ü±¾×¨ÌâÖ»½éÉÜÕâÒ»¸ö,ÆäËûµÄʹÓõÄʱºòÇë×Ô¼º²Î¿¼ËüµÄÎĵµ,ÎĵµÄÚÈÝдµÃºÜºÃ.
1.PropertyUtils
ËüÖ§³ÖÈýÖÖÀàÐ͵ÄÊôÐÔÖµ-Simple£¬Indexed£¬Mapped
ÎÒÃÇÏÈ´´½¨Ò»¸ö¼òµ¥µÄbean
public class Employee {
public Address getAddress(String type);
public void setAddress(String type, Address address);
public Employee getSubordinate(int index);
public void setSubordinate(int index, Employee subordinate);
public String getFirstName();
public void setFirstName(String firstName);
public String getLastName();
public void setLastName(String lastName);
}
*SimpleÊôÐÔ·ÃÎÊ·½·¨
PropertyUtils.getSimpleProperty(Object bean, String name)
PropertyUtils.setSimpleProperty(Object bean, String name, Object value)
ʵÏÖ´úÂ룺
Employee employee = ...;
String firstName = (String)
PropertyUtils.getSimpleProperty(employee, "firstName");
String lastName = (String)
PropertyUtils.getSimpleProperty(employee, "lastName");
... manipulate the values ...
PropertyUtils.setSimpleProperty(employee, "firstName", firstName);
PropertyUtils.setSimpleProperty(employee, "lastName", lastName);
*IndexedÊôÐÔ·ÃÎÊ·½·¨
PropertyUtils.getIndexedProperty(Object bean, String name)
PropertyUtils.getIndexedProperty(Object bean, String name, int index)
PropertyUtils.setIndexedProperty(Object bean, String name, Object value)
PropertyUtils.setIndexedProperty(Object bean, String name, int index, Object value)
ʵÏÖ´úÂ룺
Employee employee = ...;
int index = ...;
String name = "subordinate[" + index + "]";
Employee subordinate = (Employee)
PropertyUtils.getIndexedProperty(employee, name);//¸ù¾ÝvalueÈ¡µÃÊôÐÔ

Employee employee = ...;
int index = ...;
Employee subordinate = (Employee)
PropertyUtils.getIndexedProperty(employee, "subordinate", index);//¸ù¾ÝË÷Òý
ֵȡµÄÊôÐÔÖµ
*MappedÊôÐÔ·ÃÎÊ·½·¨
PropertyUtils.getMappedProperty(Object bean, String name)
PropertyUtils.getMappedProperty(Object bean, String name, String key)
PropertyUtils.setMappedProperty(Object bean, String name, Object value)
PropertyUtils.setMappedProperty(Object bean, String name, String key, Object value)
ʵÏÖ´úÂ룺
Employee employee = ...;
Address address = ...;
PropertyUtils.setMappedProperty(employee, "address(home)", address);//¸ù¾ÝÊý×é
//ÄÚµÄÖµÀ´È¥µÄÏàÓ¦µÄÊôÐÔÖµ
Employee employee = ...;
Address address = ...;
PropertyUtils.setMappedProperty(employee, "address", "home", address);
*NestedÊôÐÔ·ÃÎÊ·½·¨//NestedµÄÒâ˼ÊDzÎÊýÖаüº¬×é¼þ
PropertyUtils.getNestedProperty(Object bean, String name)
PropertyUtils.setNestedProperty(Object bean, String name, Object value)
ʵÏÖ´úÂ룺
String city = (String) PropertyUtils.getNestedProperty(employee,
"address(home).city");
2.BeanUtils.DynaBean and BeanUtils.DynaClass ½Ó¿Ú½éÉÜ
DynaBean±ØÐëÓÐÒ»¸öbeanÀ´ÊµÏÖÕâ¸ö½Ó¿Ú£¬DynaClass±ØÓÐÒ»¸öbeanµÄÊôÐÔ¼¯À´ÊµÏÖ
*BasicDynaBean and BasicDynaClass - »ù±¾µÄ Dynamic ÀàÐÍ
»ù±¾µÄAPI:
BasicDynaClass(java.lang.String name, java.lang.Class dynaBeanClass, DynaProperty[] properties)
BasicDynaBean(DynaClass dynaClass)
ÎÒÃÇÏß¶¨Òåһϻù±¾µÄ´úÂ룺
//¶¨Ò嶯̬ÊôÐÔ¼¯
DynaProperty[] props = new DynaProperty[]{
new DynaProperty("address", java.util.Map.class),
new DynaProperty("subordinate", mypackage.Employee[].class),
new DynaProperty("firstName", String.class),
new DynaProperty("lastName", String.class)
};
//´´½¨¶¯Ì¬ÀàÀ´É趨¶¯Ì¬ÊôÐÔÖµ
BasicDynaClass dynaClass = new BasicDynaClass("employee", null, props);
DynaBean employee = dynaClass.newInstance();
employee.set("address", new HashMap());
employee.set("subordinate", new mypackage.Employee[0]);
employee.set("firstName", "Fred");
employee.set("lastName", "Flintstone");
*ResultSetDynaClass (Wraps ResultSet in DynaBeans) - ʹÓà ResultSet µÄ
Dynamic JavaBean
API£º
ResultSetDynaClass(java.sql.ResultSet resultSet)
ResultSetDynaClass(java.sql.ResultSet resultSet, boolean lowerCase)
Connection conn = ...;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery
("select account_id, name from customers");
Iterator rows = (new ResultSetDynaClass(rs)).iterator();
while (rows.hasNext()) {
//ÀûÓö¯Ì¬bean½øÐÐÊä³ö
DynaBean row = (DynaBean) rows.next();
System.out.println("Account number is " +
row.get("account_id") +
" and name is " + row.get("name"));
}
rs.close();
stmt.close();
*RowSetDynaClass (Disconnected ResultSet as DynaBeans) - ʹÓà RowSet µÄ Dynamic
JavaBean
API£º
RowSetDynaClass(java.sql.ResultSet resultSet)
RowSetDynaClass(java.sql.ResultSet resultSet, boolean lowerCase)

Connection conn = ...; // ´Ó»º³å³ØÈ¡µÃÁ¬½Ó
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT ...");
RowSetDynaClass rsdc = new RowSetDynaClass(rs);
rs.close();
stmt.close();
...; //¹Ø±ÕÁ¬½Ó·µ»Ø»º³å³Ø
List rows = rsdc.getRows();
...; // ´¦ÀíµÃµ½µÄÐÐ
2.BeanUtils.ConvertUtils ½éÉÜ
Õâ¸ö°üÖ÷ÒªÓÃÀ´×ª»»´Órequest´«µÝ¹ýÀ´µÄº¯Êý
Ö÷Òªº¯Êý£º
ConvertUtils().convert(java.lang.Object value)
ConvertUtils().convert(java.lang.String[] values, java.lang.Class clazz)
ConvertUtils().convert(java.lang.String value, java.lang.Class clazz)
ʵÏÖÀý×Ó£º
HttpServletRequest request = ...;
MyBean bean = ...;
HashMap map = new HashMap();
Enumeration names = request.getParameterNames();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
map.put(name, request.getParameterValues(name));
}
BeanUtils.populate(bean, map);//ÓÃConvertUtils½øÐÐת»»
Ŀǰ֧³ÖµÄת»»ÀàÐÍ£º
sjava.lang.BigDecimal
java.lang.BigInteger
boolean and java.lang.Boolean
byte and java.lang.Byte
char and java.lang.Character
java.lang.Class
double and java.lang.Double
float and java.lang.Float
int and java.lang.Integer
long and java.lang.Long
short and java.lang.Short
java.lang.String
java.sql.Date
java.sql.Time
java.sql.Timestamp
5.²Î¿¼×ÊÁÏ»òÎÄÕÂ:
*http://jakarta.apache.org/commons/beanutils/api/index.Html
*http://jakarta.apache.org/commons/beanutils/index.html
*http://apache.Linuxforum.net/dist/jakarta/commons/beanutils/binaries/commons-beanutils-1.6.1.zip
ÉÏһƪ£ºJakarta Commons Digester ¼ò½éºÍ¾ßÌåʹÓ÷½·¨ ÈËÆø:870
ÏÂһƪ£ºJakarta Project: DBTags±êÇ©¿â(Pre Beta) ÈËÆø:430
ä¯ÀÀÈ«²¿JavaµÄÄÚÈÝ Dreamweaver²å¼þÏÂÔØ ÍøÒ³¹ã¸æ´úÂë ×£ÄãÊ¥µ®½Ú¿ìÀÖ 2009ÄêÐÂÄê¿ìÀÖ