Some times we need fill forms and we also need chage the type. just think,if you hava a table and there are three Int types, four string type and other types .if you want to change their types use the type-translate(like String(request.getParameter("userName"))). just think, how hard the work is!
And what should we do now? Must i use type-translate? if we do like this the work is so hard to do.Yes! maybe you can speak it out "JavaBean"!
let me see the model:
BeanUtilities.java
code:
package skyey.snow.*;
import java.util.*;
import javax.servlet.http.*;
import org.apache.commons.beanutils.BeanUtilities;
/*Some utilities to populate beand, usually based on incoming request parameters. Requires three packages
*from the Apache Commons libarary: beanutils,collection and logging.To obtain these packages,see
*http://jakarta.apache.org/commons/.Also,the book's source code archive (see
http://www.coreservlets.com/)
*contains links to all URLs mentioned in the book,including to the specific sections of the Jakarta Commons package.
*<p>
*Note that this class in the skeyey.snow.beans package,so must be installed in ..../package/beans/.
*/
public class BeanUtilities
{
/** Examines all of the request parameters to see if any catch a bean property(i.i.,a setXXX method)in the project.
*If so,the request parameter values is passed to that method.If the method expects an int,Integer,double,Double,or any
*of the other primitive or wrapper types,parsing and conversion is done automatically.If the request parameter value is *malformed(cannot be converted into the expected type),numeric properties are assigned zero and boolean properties
*are assigned false:no exception is thrown.
*/
public static void populateBean(Object formBean,HttpServletRequest request)
{
populateBean(formBean,request.getParameterMap());
/**Populates a bean beased on a Map: Map keys are the bean property names;Map values are the bean property values.
*Type conversion is performed automatically as described above.
*/
}
public static void populateBean(Object bean,Map propertyMap)
{
try
{
BeanUtilities.populate(bean,propertyMap);
}
catch(Exception e)
{// Empty catch.The two possible exceptions are java.lang.IllegalAccessException and java.lang.reflect.
//InvocationTargetExcepton.In both cases,just skip the bean operation.
}
}
}