- - PR -
AjaxTagsについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-17 01:35
AjaxTagsを利用してajax:autocompleteタグを使い、オートコンプリートを実現しようとしています。
入力データが半角英数字であれば、オートコンプリートできるのですが、 日本語の場合はオートコンプリートが実現できません。 サーバサイドにおいて日本語のリクエストパラメーターを取得できていないのが原因のようです。 日本語をパラメータで渡すと「null」になってしまい取得することができません。 文字化けなら、文字コードがおかしいのではと、思うのですが、化けではなくnullとなります。 環境は以下のとおりです。 ajaxtags-1.1.5 prototype.js 1.3.1 Tomcat5.5 Eclipse 3.2 JSPソースコード <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="ajax" uri="http://ajaxtags.org/tags/ajax"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="css/ajaxtags-sample.css" /> <title>Insert title here</title> <script type="text/javascript" src="js/prototype.js"></script> <script type="text/javascript" src="js/ajaxtags-1.1.5.js"></script> </head> <body> <form action="aaa.jsp"><input type="text" id="pname" name="pname" class="form-autocomplete" /></form> <ajax:autocomplete target="pname" source="pname" baseUrl="./AutoCompleteServlet" className="autocomplete" parameters="pname={pname}" progressStyle="throbbing" minimumCharacters="2"></ajax:autocomplete> </body> </html> サーブレットソースコード public class AutoCompleteServlet extends BaseAjaxServlet implements javax.servlet.Servlet { /* * (non-Java-doc) * * @see javax.servlet.http.HttpServlet#HttpServlet() */ public AutoCompleteServlet() { super(); } public String getXmlContent(HttpServletRequest request, HttpServletResponse response) throws Exception { request.setCharacterEncoding("UTF-8"); System.out.println(request.getParameter("pname")); AjaxXmlBuilder builder = new AjaxXmlBuilder(); PersonBeanDAO dao = DaoFactory.createPersonBeanDao(); PersonBean person = null; Iterator<PersonBean> iterator = dao.provideName(true, request.getParameter("pname")).iterator(); while (iterator.hasNext()) { person = iterator.next(); builder.addItem(person.getPname(), person.getPname()); } return builder.toString(); } } ご教授お願いします。 |
|
投稿日時: 2006-10-17 21:33
ajaxtagsのバージョンを1.2Beta2にすれば解決できました。
安定版では、マルチバイトコードをParameterで受取る方法を見つけることができませんでした。 JavaScriptがもっと読めれば、もう少しわかったかもしれません。 お騒がせしました。 |
1