首先是需要建一个库。考虑可以这样。建立一个拼音的字段对应汉字的,用户打简拼即可查出汉字
sql 代码
- create table `j2ee`.`suggest`(
- `SUGGEST_ID` int not null auto_increment,
- `TITLE` varchar(255),
- primary key (`SUGGEST_ID`)
- );
当然这里为了方便没有这样做。直接查title这个字段了。
其次是action了
java 代码
- package org.perfect.struts.action;
-
- import java.util.List;
- import java.util.Map;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.ActionMapping;
- import org.perfect.struts.dao.SearchSuggestDao;
- import org.perfect.struts.form.LoginForm;
- import org.perfect.struts.form.SearchSuggestForm;
-
- public class SearchSuggestAction extends BasicDispatchAction {
-
- private SearchSuggestDao searchSuggestDao;
-
- public void setSearchSuggestDao(SearchSuggestDao searchSuggestDao) {
- this.searchSuggestDao = searchSuggestDao;
- }
-
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
-
- SearchSuggestForm searchSuggestForm = (SearchSuggestForm) form;
- String action = request.getParameter("action");
- action = (action == null || "".equals(action)) ? "init" : action;
- return this.dispatchMethod(mapping, form, request, response, action);
-
- }
-
- public ActionForward init(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
-
- SearchSuggestForm searchSuggestForm = (SearchSuggestForm) form;
-
- return mapping.getInputForward();
- }
- //重点在这里
- public ActionForward login(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- SearchSuggestForm searchSuggestForm = (SearchSuggestForm) form;
- //由于我的Ajax水平比较初级,所以中文的问题搞了两个多小时,实现英文版的是很快的。
- //这里必须得这样写。没有为什么。老外才不会管中国人的问题呢。
- response.setCharacterEncoding("GBK");
- response.setContentType("text/html");
- response.setHeader("Cache-Control", "no-cache");
-
- String user_no = new String(request.getParameter("title").getBytes(
- "iso8859-1"), "gbk");
- System.out.println("user_no=" + user_no);
- try {
- if (!"".equals(user_no) && user_no != null) {
-
-
-
- //searchSuggestDao直接继承自BaseDaoImp.里面没有代码,就不写了。
- String sql = "select title from suggest where title like '%"
- + user_no + "%'";
- System.out.println("sql=" + sql);
- List list = searchSuggestDao.findForListBySql(sql);
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < list.size(); i++) {
- Map map = (Map) list.get(i);
- String key = map.get("title").toString();
- //用"\n"分隔
- sb.append(key + "\n");
- }
- System.out.println(sb.toString());
- //传给页面,搞定了。
- response.getWriter().write(sb.toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- return null;
-
- }
-
- }
最后是jsp了。有一点点儿麻烦
由于我的css同样很烂。所以这里就没考虑太多。为达到效果不则手段了。以后会改的好看一点。
合理一点。
css 代码
- <!---->
- "http://www.w3.org/1999/xhtml">
- <!---->
-
-
-
-
- "text/css" media="screen">
- body {
- font: 11px arial;
- }
- .suggest_link {
- background-color: #FFFFFF;
- padding: 2px 6px 2px 6px;
- width: 573px;
- }
- .suggest_link_over {
- background-color: #E8F2FE;
- padding: 2px 6px 2px 6px;
- width: 573px;
- }
- #search_suggest {
- position: absolute;
- background-color: #FFFFFF;
- text-align: left;
- border: 0px solid #8AABD5;
- width: 575px;
- cursor: hand;
- }
-
-
不知道是我写的js烂,还是javaeye的功能有点小毛病。js发了四五回还是乱七八糟的。
真接发附件了。
xml 代码
- <body onclick='hideSearchSuggest()'>
- <html:form action="/searchSuggestAction" method="POST">
- <bean:define id='form' name='searchSuggestForm' type='org.perfect.struts.form.SearchSuggestForm'>
- bean:define>
-
- <fieldset><table><tr>
- <td class="free_input"><input type='text' name="title" size='80' onkeyup="testPrototype();" autocomplete="off"/>td>
- <td><span style='font-size:12'>搜索span>td>
- tr>table>
-
- fieldset>
- <div id="search_suggest">div>
-
- html:form>
- body>
- html>
没啥东西。基本上很简单。不过也搞了三四个小时才搞得定。
全靠谷老哥了。
不晓得没了他我能不能自己独立写点东西。
- 大小: 65.8 KB
分享到:
相关推荐
numcodecs-0.7.2-cp36-cp36m-win32
标题 "anurbs-0.7.2-cp36-cp36m-win_amd64.whl.zip" 指的是一个Python库AnURBS的特定版本(0.7.2)的安装包,它被封装在一个.zip压缩文件中。这个库是为了解决非均匀有理B样条(NURBS)相关的数学问题,特别是在...
DeepSpeech是一个开源的语音识别框架,由Mozilla开发,旨在实现高效、准确的端到端语音转文本功能。 Python是一种广泛使用的高级编程语言,尤其在Web开发、数据分析、人工智能等领域有广泛应用。它以其简洁的语法和...
标题中的"Python库 | guildai-0.7.2-cp36-cp36m-win_amd64.whl"表明我们正在讨论的是一个针对Python编程语言的库,名为"guildai",其版本号为0.7.2。这个库是专为Python 3.6版本编译的,并且适配于64位Windows操作...
numcodecs-0.7.2-cp36-cp36m-win_amd64.whl
caterva-0.7.2-cp37-cp37m-win_amd64.whl
numcodecs-0.7.2-cp36-cp36m-win_amd64
GuildAI 是一个强大的工具,专为使用Python进行机器学习和深度学习项目管理而设计。它提供了命令行界面和集成到Jupyter Notebook的功能,使数据科学家和机器学习工程师能够更有效地组织、运行和比较实验。在本篇中,...
标题中的"anurbs-0.7.2-cp37-cp37m-macosx_10_13_x86_64.whl.zip"是一个软件包的文件名,它包含了anurbs库的0.7.2版本,专为Python 3.7(由"cp37"表示)编译,并且适用于macOS 10.13操作系统,且是64位架构。...
《PyPI官网下载:photutils-0.7.2-cp36-cp36m-macosx_10_6_intel.whl》 在Python的生态系统中,PyPI(Python Package Index)是官方的第三方软件包仓库,开发者可以在这里发布他们的Python库,供其他用户下载和使用...
资源来自pypi官网。 资源全名:guildai-0.7.2rc2-cp38-cp38-win_amd64.whl
标题 "anurbs-0.7.2-cp37-cp37m-win_amd64.whl.zip" 暗示了这是一个用于Python的软件包,它被压缩为ZIP格式,主要用于AMD64(64位)Windows平台。其中,“anurbs”是包的名称,版本号为0.7.2,而“cp37”表示它兼容...
python库。 资源全名:uvloop-0.7.2-cp35-cp35m-manylinux1_i686.whl
资源来自pypi官网。 资源全名:guildai-0.7.2-cp36-cp36m-win_amd64.whl
python库,解压后可用。 资源全名:py_tgcalls-0.7.2-cp36-cp36m-win_amd64.whl
资源来自pypi官网。 资源全名:py_tgcalls-0.7.2-cp36-cp36m-win_amd64.whl
标题中的"anurbs-0.7.2-cp36-cp36m-macosx_10_13_x86_64.whl.zip"是一个软件包的文件名,它包含了“anurbs”这个库的特定版本(0.7.2)以及针对Python 3.6编译的版本,适用于macOS High Sierra(10.13)操作系统,且...
资源来自pypi官网。 资源全名:deepspeech-0.7.2-cp36-cp36m-manylinux1_x86_64.whl
python库。 资源全名:pyqlib-0.7.2-cp36-cp36m-macosx_10_14_x86_64.whl