`
smilease
  • 浏览: 88388 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

使用easyui和pinyin4j实现拼音的自动补全

 
阅读更多

1、前台HTML代码

 

<td>
	<select id="loginComboboxName" name="username" style="display: none;width:157px;">
	</select>
</td>
 

 2、前台JS代码

 

loginComboboxName = $('#loginComboboxName').show().combobox({
			required : true,
			url : 'userController.do?loginCombobox',
			textField : 'username',
			valueField : 'username',
			mode : 'remote',
			panelHeight : 'auto',
			delay : 500,
			value : ''
		});

 3、后台Java代码

 

BeanUtils.copyProperties(httpUser, user);
String pinyin=Pinyin4jUtil.getPinYinHeadChar(httpUser.getUsername());
user.setPinyin(pinyin);
userDao.save(user);

 

 String hql = " from User t where pinyin like '%%" + q.trim() + "%%'";
 

4、Pinyin4jUtil.java 代码

 

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public class Pinyin4jUtil {

	/**
	 * 将汉字转换为全拼
	 * 
	 * @param src
	 * @return String
	 */
	public static String getPinYin(String src) {
		char[] t1 = null;
		t1 = src.toCharArray();
		// System.out.println(t1.length);
		String[] t2 = new String[t1.length];
		// System.out.println(t2.length);
		// 设置汉字拼音输出的格式
		HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
		t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		t3.setVCharType(HanyuPinyinVCharType.WITH_V);
		String t4 = "";
		int t0 = t1.length;
		try {
			for (int i = 0; i < t0; i++) {
				// 判断能否为汉字字符
				// System.out.println(t1[i]);
				if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
					t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);// 将汉字的几种全拼都存到t2数组中
					t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后
				} else {
					// 如果不是汉字字符,间接取出字符并连接到字符串t4后
					t4 += Character.toString(t1[i]);
				}
			}
		} catch (BadHanyuPinyinOutputFormatCombination e) {
			e.printStackTrace();
		}
		return t4;
	}

	/**
	 * 提取每个汉字的首字母
	 * 
	 * @param str
	 * @return String
	 */
	public static String getPinYinHeadChar(String str) {
		String convert = "";
		for (int j = 0; j < str.length(); j++) {
			char word = str.charAt(j);
			// 提取汉字的首字母
			String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
			if (pinyinArray != null) {
				convert += pinyinArray[0].charAt(0);
			} else {
				convert += word;
			}
		}
		return convert;
	}

	/**
	 * 将字符串转换成ASCII码
	 * 
	 * @param cnStr
	 * @return String
	 */
	public static String getCnASCII(String cnStr) {
		StringBuffer strBuf = new StringBuffer();
		// 将字符串转换成字节序列
		byte[] bGBK = cnStr.getBytes();
		for (int i = 0; i < bGBK.length; i++) {
			// System.out.println(Integer.toHexString(bGBK[i] & 0xff));
			// 将每个字符转换成ASCII码
			strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
		}
		return strBuf.toString();
	}

	public static void main(String[] args) {
		String cnStr = "中zx国z";
		System.out.println(getPinYin(cnStr));
		System.out.println(getPinYinHeadChar(cnStr));
		System.out.println(getCnASCII(cnStr));
	}
}
 

 

分享到:
评论

相关推荐

    easyui-combobox 实现简单的自动补全功能示例

    其中,easyui-combobox是一个下拉组合框组件,它可以通过输入框实现自动补全功能,这对于需要动态搜索和选择数据的Web应用程序来说非常有用。 在上述文件中,作者介绍了如何使用easyui-combobox实现自动补全功能。...

    #ComboBox自动补全小技巧(模糊查找)

    在.NET框架下,ComboBox控件是Windows...通过以上步骤,你可以为你的C# .NET应用程序中的ComboBox添加自动补全和模糊查找功能,提升用户交互体验。在实际项目中,可以根据需求进行调整和优化,以满足不同场景下的需求。

    使用EasyUI+Springmvc实现的CRUD

    【标题】"使用EasyUI+Springmvc实现的CRUD"主要涵盖了两个核心技术——EasyUI和SpringMVC,它们在Web开发中的应用以及如何协同工作来完成数据的创建、读取、更新和删除操作。 EasyUI是一款基于jQuery的前端UI框架,...

    用Avalonia实现的EasyUI控件

    用Avalonia实现的EasyUI控件;用Avalonia实现的EasyUI控件;用Avalonia实现的EasyUI控件;用Avalonia实现的EasyUI控件;用Avalonia实现的EasyUI控件;用Avalonia实现的EasyUI控件;用Avalonia实现的EasyUI控件;用...

    使用tp+easyui 实现的一套库存管理系统,使用auth类实现权限管理.zip

    使用tp+easyui 实现的一套库存管理系统,使用auth类实现权限管理。至于其他的功能都是基础的功能,用来入门。 使用tp+easyui 实现的一套库存管理系统,使用auth类实现权限管理。至于其他的功能都是基础的功能,用来...

    基于java,easyui,websocket的聊天界面实现

    这是一个常见的Web应用开发场景,对于提升用户体验和实现即时通信至关重要。下面将详细阐述这些技术及其在聊天界面实现中的作用。 首先,Java作为后端编程语言,负责处理业务逻辑和数据管理。在聊天应用中,Java...

    使用easyUI实现树菜单

    在本文中,我们将深入探讨如何使用EasyUI框架来实现一个动态的树形菜单。EasyUI是一个基于jQuery的轻量级前端开发框架,它提供了一系列组件,包括表格、对话框、菜单等,使得开发者能够快速构建用户界面。在这个场景...

    easyui利用tooltip实现title功能

    在IT领域,特别是前端开发中,使用EasyUI框架来增强用户界面的功能性和美观性是一种常见的实践。EasyUI是一个基于jQuery的UI工具包,它提供了一系列的用户界面组件,如按钮、对话框、网格等,使得开发者能够快速地...

    jquery easyui TagBox with Autocomplete ajax请求方式自动填充

    在给定的标题“jquery easyui TagBox with Autocomplete ajax请求方式自动填充”中,主要涉及了jQuery EasyUI的TagBox组件,以及其Autocomplete功能与ajax请求方式的结合应用。 TagBox是jQuery EasyUI的一个组件,...

    easyui datagrid实现实现上下左右和回车切换单元格

    根据提供的文件信息,本文将详细解释如何在EasyUI DataGrid中实现上下左右及回车键切换单元格的功能。EasyUI 是一个基于 jQuery 的用户界面插件集合,它提供了丰富的 UI 组件来帮助开发者快速构建现代化的 Web 应用...

    使用Struts2和jQuery EasyUI实现简单CRUD系统

    在本文中,我们将探讨如何使用Struts2和jQuery EasyUI框架创建一个简单的CRUD(创建、读取、更新、删除)系统。首先,我们需要理解这两个技术的基础概念。 Struts2是一个基于MVC(Model-View-Controller)架构的...

    基于easyui的通用导出

    【基于EasyUI的通用导出】是一个功能模块,主要用于在使用EasyUI数据网格时实现数据的便捷导出。EasyUI是一个基于jQuery的UI框架,它提供了丰富的组件和样式,简化了Web开发中的界面构建工作。在这个场景下,我们...

    easyui datagrid中实现上下左右、回车切换单元格

    easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格

    EasyUI tutorial 中文版 chm

    使用easyUI创建一个自动播放的tabs 使用easyUI创建XP风格左侧面板 DataGrid 使用easyUI转换HTML table到datagrid 使用easyUI给datagrid添加pagination 使用easyUI添加查询功能在datagrid 使用easyUI 添加...

    easyUI时间控件使用

    在本文中,我们将深入探讨如何在EasyUI框架中有效地使用时间控件,以及如何解决时间格式化的问题。EasyUI是一个基于jQuery的轻量级前端开发框架,它提供了一系列丰富的组件,帮助开发者快速构建用户界面。时间控件是...

    EasyUI 增删改查的简单实现

    - 使用 EasyUI 可以轻松实现 CRUD 操作,例如通过 form 组件配合按钮触发 AJAX 请求,实现数据的添加、修改和删除。 - 对话框(dialog)常用于弹出窗口,显示表单或确认信息,提高了用户体验。 2. Maven 知识点:...

    使用easyui表格数据动态生成饼图

    总的来说,"使用easyui表格数据动态生成饼图"是一个涉及前端数据展示和可视化综合能力的项目,它要求开发者熟悉EasyUI和ECharts这两个库,以及基本的JavaScript和JSON处理技能。通过这个过程,开发者不仅可以提升...

    EasyUI实现简易图书管理系统

    在这个简易图书管理系统中,EasyUI被用来设计和实现用户交互界面,为用户提供直观、易用的操作体验。 1. **EasyUI的基本概念** - **组件**: EasyUI提供了如表格(datagrid)、下拉框(combobox)、树形结构(tree...

    easyUI的crud实现

    它的CRUD(Create、Read、Update、Delete)实现是指使用EasyUI来完成数据的创建、读取、更新和删除功能,这些是任何数据管理应用的基础操作。在这里,我们将深入探讨如何使用EasyUI和Java来实现这一目标。 首先,让...

    easyUi的使用

    easyUi的使用easyUi的使用easyUi的使用easyUi的使用easyUi的使用easyUi的使用

Global site tag (gtag.js) - Google Analytics