`
aiyanbo
  • 浏览: 65037 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

WebHelp与Util工具类

    博客分类:
  • java
阅读更多

恩,本人很久没有写关于技术问题的文章了,因为本人水平不高,难写出出色的文章了,最近老师让我们做一个小型的oa系统,自己也写了两个工具类,拿来与大家分享下

 

 有不足的地方望各位高手指正

 

 

WebHelp 主要用与Servlet中

 

Util 主要用于Dao中

 

 

下面是源代码:

 

package com.aiy.util;

/**
 * @author aiyanbo
 */
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class WebHelp {
	public static final String DIR="WEB-INF/jsp/";
	public static void alert(HttpServletResponse response,String content,String url){
		try {
			PrintWriter out=response.getWriter();
			out.print("<script>");
			out.print("alert('"+content+"');");
			out.print("location='"+url+"'");
			out.print("</script>");
		} catch (IOException e) {
			System.err.print("alert()方法中有错误");
			e.printStackTrace();
		}
	}
	public static void alert(HttpServletResponse response,String content){
		try {
			PrintWriter out=response.getWriter();
			out.print("<script>");
			out.print("alert('"+content+"');");
			out.print("</script>");
		} catch (IOException e) {
			System.err.print("alert()方法中有错误");
			e.printStackTrace();
		}
	}
                //根据pojo类与request参数生成pojo对象
	public static <T> T getObject(Class c,HttpServletRequest request) throws Exception{
		T o=(T) c.newInstance();
		Set<String> set=request.getParameterMap().keySet();
		Field[] cfs=c.getDeclaredFields();
		for (String str : set) {
			for (Field field : cfs) {
				if(str.equals(field.getName())){
					setObject(c, request, o, str);
					break;
				}
			}

		}
		return o;
	}
	private static <T> void setObject(Class c, HttpServletRequest request, T o,
			String str) throws NoSuchFieldException, NoSuchMethodException,
			ParseException, IllegalAccessException, InvocationTargetException {
		Field f=c.getDeclaredField(str);
		String cname=f.getType().getSimpleName();
		String fname=str.substring(0,1).toUpperCase()+str.substring(1);
		Method m=c.getDeclaredMethod("set"+fname, f.getType());
		if(cname.equals("Date")){
			SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd 00:00:00");
			Date date=format.parse(request.getParameter(str));
			m.invoke(o, date);
		}else if(cname.equals("int")){
			int i=Integer.parseInt(bool(request.getParameter(str)));
			m.invoke(o, i);
		}else if(cname.equals("Long")){
			Long l=Long.parseLong(bool(request.getParameter(str)));
			m.invoke(o, l);
		}else {
			m.invoke(o, request.getParameter(str));
		}
	}
	private static String bool(String str){
		return str.equals("1")?"1":"0";
	}
	public static void forword(HttpServletRequest request,HttpServletResponse response,String url) throws ServletException, IOException{
		request.getRequestDispatcher(url).forward(request, response);
	}
	public static int parseInt(HttpServletRequest request,String param,int def){
		String istr=request.getParameter(param);
		return istr==null?def:Integer.parseInt(istr);
	}
	public static int parseInt(HttpServletRequest request,String param){
		return WebHelp.parseInt(request, param, 0);
	}
	public static Long parseLong(HttpServletRequest request,String param,Long def){
		String lstr=request.getParameter(param);
		return lstr==null?def:Long.parseLong(lstr);
	}
	public static Long parseLong(HttpServletRequest request,String param){
		return parseLong(request,param,0L);
	}
	public static int[] parseIntArray(HttpServletRequest request,String param,String split){
		String p=request.getParameter(param);
		return Util.parseIntArray(p, split);
	}
	public static String[] parseStringArray(HttpServletRequest request,String param,String split){
		String p=request.getParameter(param);
		return Util.parseStringArray(p, split);
	}
	public static Long[] parseLongArray(HttpServletRequest request,String param,String split){
		String p=request.getParameter(param);
		return Util.parseLongArray(p, split);
	}
	public static <T> Set<T> parseObjectSet(HttpServletRequest request,String param,String split,Class c,String idcolumn) throws Exception{
		String p=request.getParameter(param);
		String[] arr=Util.parseStringArray(p, split);
		Set<T> set=new HashSet<T>();
		String setname="set"+idcolumn.substring(0,1).toUpperCase()+idcolumn.substring(1);
		try {
			Method setter=c.getDeclaredMethod(setname, c.getDeclaredField(idcolumn).getType());
			for (String str : arr) {
				T o=(T) c.newInstance();
				setter.invoke(o, str);
				set.add(o);
			}
		} catch (Exception e) {
			System.err.println("parseObjectSet方法有错误,可能是您的参数类型不正确!");
			e.printStackTrace();
			throw e;
		} 
		return set; 
	}
}

 

 

 

 

 

 

 

package com.aiy.util;

/**
 * @author aiyanbo
 */
import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import net.sf.json.JsonConfig;

public class Util {
	public static String toWhere(String column,String...arr){
		StringBuffer sb=new StringBuffer(" where "+column+" in (");
		for(String str : arr){
			sb.append("'"+str+"'"+',');
		}
		sb.setCharAt(sb.length()-1, ')');
		return sb.toString();
	}
                //json的配置,转换中包含的字段
	public static JsonConfig setIncludes(Class c,String...p){
		JsonConfig config=new JsonConfig();
		Set<String> set=null;
		if(p!=null){
			Field[] fs=c.getDeclaredFields();
			set=new HashSet<String>();
			for (Field f : fs) {
				set.add(f.getName());
			}
			for(String str : p){
				set.remove(str);
			}
		}
		String[] str=new String[set.size()];
		config.setExcludes(set.toArray(str));
		return config;
	}
	public static String[] parseStringArray(String p,String split){
		return p.split(split);
	}
	public static int[] parseIntArray(String p,String split){
		String[] str=p.split(split);
		int[] arr=new int[str.length];
		for (int i = 0; i < str.length; i++) {
			arr[i]=Integer.parseInt(str[i]);
		}
		return arr;
	}
	public static Long[] parseLongArray(String p,String split){
		String[] str=p.split(split);
		Long[] arr=new Long[str.length];
		for (int i = 0; i < str.length; i++) {
			arr[i]=Long.parseLong(str[i]);
		}
		return arr;
	}
	public static String dateToString(String fmt,Date date){
		SimpleDateFormat format=new SimpleDateFormat(fmt);
		return format.format(date);
	}
	public static Date stringToDate(String fmt,String source){
		SimpleDateFormat format=new SimpleDateFormat(fmt);
		try {
			return format.parse(source);
		} catch (ParseException e) {
			System.err.println("日期格式不正确");
			e.printStackTrace();
			return null;
		}
	}
}

 

 

 

 

 

 

 

 

 

 

1
1
分享到:
评论
2 楼 aiyanbo 2009-11-28  
呵呵,还望您这样的高手多指教
1 楼 zz733 2009-11-28  
不错,学习ing

相关推荐

    Webhelp-开源

    Webhelp开源项目是一款专为创建在线帮助和文档的工具,其设计目的是使内容创作者能够以高效且直观的方式生成专业级的文档。这个项目的核心亮点在于它的集成WYSIWYG(What You See Is What You Get)编辑器,允许用户...

    WebHelp - php CRM system-开源

    1. 客户交互:WebHelp支持实时聊天功能,让客户可以在浏览网站时即时与客服人员沟通,解答问题或处理订单,减少了潜在客户的流失率。 2. 客户信息管理:系统能够存储和管理客户的基本信息、购买历史、沟通记录等,...

    pop-webhelp:PKSU 项目 2015

    pop-webhelp PKSU 项目 2015 安装 确保你已经安装了pip 、 python2和redis 。 运行git clone https://github.com/christiankjaer/pop-webhelp 。 运行pip install -r requirements.txt 。 然后可以使用python ...

    HTML Help

    内有三个CHM格式的帮助文件,是开发人员必备的工具书,也是学习的好资料. DHTML 手册.chm dwusing.chm HTML.chm

    WebHelp-crx插件

    语言:English,português (Brasil) 扩展以支持读取和网络浏览。 这是Webhelpdyslexia扩展的Beta版本,以帮助在阅读和网络浏览期间帮助患有诵读的人。扩展允许定制页面根据用户的需要,例如颜色,间距,类型和源大小...

    web help

    这些资料可能包含技术指南、最佳实践、示例代码以及与网页开发相关的各种语言和框架的教程。通过这样的文档集合,开发者和用户可以快速查找所需信息,解决在使用Web应用过程中遇到的问题。 【标签】"help web"标签...

    ensembl-prodinf-webhelp:Ensembl主网站在线帮助管理后端

    ensembl-prodinf-webhelp 该存储库包含Django admin可移植应用程序,用于编辑Ensembl Web帮助内容。 安装 克隆仓库 git clone cd ensembl-prodinf-webhelp 在您喜欢的虚拟环境中安装依赖项 pip install -r ...

    wordTohelp安装包

    总的来说,WordToHelp作为一款专业的文档转换工具,不仅简化了复杂的转换过程,更提供了多种格式选择,满足了不同场景下的文档管理与发布需求。无论你是个人用户还是企业,都可以借助WordToHelp轻松地实现文档的高效...

    eCommander SDK

    **eCommander SDK** 是一款专门针对开发人员设计的软件开发工具包,它提供了一整套功能丰富的API和文档,帮助开发者集成和扩展eCommander系统。eCommander是一款强大的文件管理和自动化工作流程解决方案,其SDK则...

    help and manual 7.x

    Help & Manual Pro是一款非常专业、强大的帮助文件制作工具,采用纯XML格式的所见即所得编辑器,因此用起来跟通常的文字处理器没什么不同,支持CHM、PDF、RTF、EXE电子书等格式的输出。 Help & Manual采用Office ...

    软件测试宝典软件测试

    8. **持续集成与持续交付**:CI/CD流程中的测试角色,以及Jenkins、GitLab CI/CD等工具的使用。 9. **测试文档**:创建有效的测试计划、测试案例和测试报告的方法和最佳实践。 10. **软技能**:沟通技巧、问题解决...

    网页编辑帮助文档api

    WebHelp.CHM--&gt;基本网页的建立、语法、构成。

    Help & Manual Professional v6.2.3.2670 注册版 Part2

    Help & Manual Professional 内嵌了编辑器、截图、图形处理等工具。支持打印功能。可生成HTML、PDF、WEBHELP、APPLE IBOOKS、MICROSOFT WORD、MICROSOFT VISUL STUDIO HELP等文档。新增版本控制、生成QR码并插入等多...

    Help & Manual Professional v6.2.3.2670 注册版 part1

    Help & Manual Professional 内嵌了编辑器、截图、图形处理等工具。支持打印功能。可生成HTML、PDF、WEBHELP、APPLE IBOOKS、MICROSOFT WORD、MICROSOFT VISUL STUDIO HELP等文档。新增版本控制、生成QR码并插入等多...

    delphi编程指导书

    Delphi是一种基于Object Pascal的高效、快速的开发工具,由Embarcadero Technologies公司维护和更新,它允许开发者构建高性能的Windows、macOS、iOS和Android应用程序。这本书和相关资源将帮助读者理解和掌握Delphi...

    c函数表包含c函数库

    C语言作为一门基础且强大的编程语言,其标准库中的函数是开发者日常编程的重要工具。本文将深入探讨C函数库,包括其功能、使用方法以及常见问题,旨在帮助开发者更好地理解和应用这些函数。 一、C函数库概述 C函数...

    htmlhelp.zip

    然而,随着在线文档和现代帮助系统的兴起,如Markdown和WebHelp,HTMLHelp的重要性逐渐降低,但它仍然是某些应用场景下可靠和实用的帮助解决方案。 总的来说,"htmlhelp.zip"中的"htmlhelp.exe"可能是一个用于创建...

    蓝牙协议详解.pdf

    同时,开发者也需要了解如何使用蓝牙硬件抽象层(HAL)、开发工具包(SDK)以及相应的开发环境。 低功耗蓝牙BLE是蓝牙技术中的一个重要分支,它专为低功耗设计,适用于如可穿戴设备、健康监测设备等应用。BLE与传统...

    delphi教学软件

    Delphi教学软件是一款专为学习Delphi编程语言设计的实用工具。它包含了丰富的资源和教程,可以帮助初学者和有经验的开发者深入理解Delphi的各个方面。Delphi是一种基于Object Pascal的集成开发环境(IDE),由...

    python中级教程:开发总结-Crifan.pdf

    8. **网站抓取**:Python的Scrapy框架提供了高效的网络爬虫开发工具,帮助开发者构建复杂的网络数据抓取系统。 9. **正则表达式**:正则表达式是处理文本模式匹配的利器,Python的`re`模块提供了强大的正则操作功能...

Global site tag (gtag.js) - Google Analytics