package com.sinocarbon.base.util; import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.jfree.util.Log; import java.lang.reflect.Field; import java.net.URLDecoder; public class ParamUtils { /** * 从一个参数中得到整数,如果没有值,返回缺省值 * @param request * @param name * @defaultvalue 缺省值 * @return */ static public Integer getInteger(HttpServletRequest request, String name, Integer defaultvalue) { String p = request.getParameter(name); if (StringUtils.isNotEmpty(p) && StringUtils.isNumeric(p)) return Integer.valueOf(p); else return defaultvalue; } /** * 从一个参数中得到整数,如果没有值,返回缺省值0 * @param request * @param name * @return */ static public Integer getInteger(HttpServletRequest request, String name) { String p = request.getParameter(name); if (StringUtils.isNotEmpty(p) && StringUtils.isNumeric(p)) return Integer.valueOf(p); else return Integer.valueOf(0); } public static int getInt(HttpServletRequest request, String name, int value) { String p = request.getParameter(name); int val = value; if (StringUtils.isNotEmpty(p) && StringUtils.isNumeric(p)) { val = Integer.parseInt(p); } return val; } public static int getInt(HttpServletRequest request, String name) { return ParamUtils.getInt(request, name, 0); } /** * 从一个参数中得到字符串 * @param request * @param name * @defaultvalue * @return */ static public String getString(HttpServletRequest request, String name, String defaultvalue) { String value = request.getParameter(name); if (value == null || "".equals(value.trim())) return defaultvalue; else return value.trim(); } /** * 从一个参数中得到字符串,缺省="" * @param request * @param name * @return */ static public String getString(HttpServletRequest request, String name) { String value = request.getParameter(name); if (value == null || "null".equals(value)) return ""; else return value.trim(); } /** * 从一个参数中得到中文字符串,缺省="" * gm 2011-4-27 * @param request * @param name * @return */ static public String getGBKString(HttpServletRequest request, String name) { try{ String value = request.getParameter(name); if (value == null || "null".equals(value)) return ""; else value=URLDecoder.decode(request.getParameter(name),"utf-8"); return value.trim(); } catch(UnsupportedEncodingException e) { return "编码转换错误:"+e.getMessage(); } } /** * 从getParameterMa中得到String * gm 2011-4-29 * @param map * @param name * @return */ static public String getString(Map map,String name){ String newValue=""; String[] value=(String[])map.get(name); if(value==null || "null".equals(value[0])) return ""; else { newValue=String.valueOf(value[0]); } return newValue; } /** * 从getParameterMa中得到中文String * gm 2011-4-29 * @param map * @param name * @return */ static public String getGBKString(Map map,String name){ try{ String newValue=""; //将数组对象转为String String GBKValue=""; //将String转为中文 String[] value=(String[])map.get(name); if (value == null || "null".equals(value[0])) return ""; else newValue=String.valueOf(value[0]); GBKValue=URLDecoder.decode(newValue,"utf-8"); return GBKValue.trim(); } catch(UnsupportedEncodingException e) { return "编码转换错误:"+e.getMessage(); } } /** * 从request得到中文 * @param request * @param name * @param code * @return */ public static String getChinaStringByCODE(HttpServletRequest request, String name,String codeType){ String value = request.getParameter(name); String returnValue = ""; if("null".equalsIgnoreCase(value) || null==value){ return returnValue; }else{ byte[] bytes; try { bytes = value.getBytes("iso-8859-1"); returnValue = new String(bytes,codeType); } catch (UnsupportedEncodingException e) { e.printStackTrace(); Log.debug("转换中文编码出错"+e.getMessage()); } } return returnValue ; } /** * 转换为utf-8编码方式中文 * @param request * @param name * @return */ public static String getChinaStringByUTF8(HttpServletRequest request, String name){ return getChinaStringByCODE(request, name, "utf-8"); } /** * 转换为gb2312编码方式中文 * @param request * @param name * @return */ public static String getChinaStringByGB2312(HttpServletRequest request, String name){ return getChinaStringByCODE(request, name, "gb2312"); } /** * 这么做是考虑Object字段多,Map字段可能不匹配的情况,容错 * @param map * @param obj * @param ridSign 实体类有个set集合对象 * @throws Exception */ public static Object praseMap(Map<String,String> map,Object obj,String ridSign)throws Exception{ for(Map.Entry<String, String> entry : map.entrySet()){ String key = entry.getKey(); if(null!=ridSign){ int ridSignIdex = key.indexOf(ridSign); key = key.substring(0, ridSignIdex); } String value = entry.getValue(); //获取Object class下 all field Field [] fieldArray = obj.getClass().getDeclaredFields(); for (int i = 0; i < fieldArray.length; i++) { if(key.equals(fieldArray[i].getName())){ Field field = fieldArray[i]; //判断field字段type Class fieldType = field.getType(); field.setAccessible(true); if(fieldType.equals(int.class)){ field.setInt(obj, Integer.parseInt(value)); }else if(fieldType.equals(String.class)){ field.set(obj,value); }else if(fieldType.equals(Double.class)){ field.setDouble(obj, Double.parseDouble(value)); }else if(fieldType.equals(Float.class)){ field.setDouble(obj, Float.parseFloat(value)); }else if(fieldType.equals(Date.class)){ SimpleDateFormat sdfFormat = new SimpleDateFormat ("yyyy-MM-dd"); Date iTdate = sdfFormat.parse(value); field.set(obj, iTdate); }else if(fieldType.equals(Integer.class)){ field.set(obj, Integer.parseInt(value)); }else if(fieldType.equals(float.class)){ field.set(obj, Float.parseFloat(value)); }else{ field.set(obj,value); } break; } } } return obj; } public static Object praseMap(Map<String,String> map,Object obj)throws Exception{ return praseMap(map, obj, null); } }
相关推荐
Request Request操作类 Safe 安全操作类 Session Session操作类 Str 字符串操作类 Valid 数据类型验证类 WebConfig Web.Config配置类 ---------------- 公历/农历类 日期格式处理类 文件实用类 上传类 图片...
系统设计之公共类库 ?Data Class Name File Function SQL访问基础类 SqlHelper.cs 执行带参数SQL,非带参数SQL,存储过程等语句 Access操作辅助类 JetAccess.cs Access的新建,压缩,加密等数据库文件操作 Oledb操作辅助...
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...
FileUpload获取表单中参数的方法并对该组件做了进一点封装,使其更容易使用,并支持单文件上传和多文件上传两种方式,首先定义一个基类放置公共属性: FileUploadBase.java import java.io.File; import java.util....
6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 <jsp:forward> 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...
6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 <jsp:forward> 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...
javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio.spi 包含用于 reader、writer、transcoder 和流的插件接口以及一个运行时...
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别? Java Bean 是可...
6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 <jsp:forward> 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...
org.omg.CORBA 提供 OMG CORBA API 到 JavaTM 编程语言的映射,包括 ORB 类,如果已实现该类,则程序员可以使用此类作为全功能对象请求代理(Object Request Broker,ORB)。 org.omg.CORBA_2_3 CORBA_2_3 包定义对 ...
6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 <jsp:forward> 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的...
org.omg.CORBA 提供 OMG CORBA API 到 JavaTM 编程语言的映射,包括 ORB 类,如果已实现该类,则程序员可以使用此类作为全功能对象请求代理(Object Request Broker,ORB)。 org.omg.CORBA_2_3 CORBA_2_3 包定义对...
javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio.spi 包含用于 reader、writer、transcoder 和流的插件接口以及一个运行时...
javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio.spi 包含用于 reader、writer、transcoder 和流的插件接口以及一个运行时...
javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio.spi 包含用于 reader、writer、transcoder 和流的插件接口以及一个运行时...
4.3.1 HtmlControl基类 95 4.3.2 HtmlContainerControl类 96 4.3.3 所有的HTML类 96 4.3.4 使用HtmlGenericControl类 97 4.4 通过JavaScript处理页面和服务器控件 98 4.4.1 使用Page.ClientScript....
Request对象建立关联702 20.5.3 给SQL Server 高速缓存依赖性 和Cache对象建立关联703 20.6 小结706 第21章 调试和错误处理技术709 21.1 设计期间的支持709 21.1.1 语法通知709 21.1.2 Immediate和 Command...