worldcreatxr
发贴: 149
积分: 0
|
于 2003-08-05 17:56
找到一些问题所在了, 表单中的汉字提交到后台就乱码了。怎么办啊?我的JSP页面encoding='utf-8'
========================================= <%@page contentType='text/html; charset=UTF-8'%>
<%@ taglib uri='/WEB-INF/tld/struts-html.tld' prefix='html' %> <%@ taglib uri='/WEB-INF/tld/struts-bean.tld' prefix='bean' %>
<html:html locale='true'> <head> <title><bean:message key='welcome.title'/></title> </head>
<body>
<html:errors/> <center> <html:form action='/search' method='post'> <html:text property='keywords' size='16'/> <html:submit value='search'/> </html:form> </center> </body> </html:html> ================================
package com.bcstnet.struts.actions;
import org.apache.struts.action.Action; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForm; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
//import org.apache.commons.beanutils.PropertyUtils; import org.apache.struts.action.DynaActionForm;
import org.apache.lucene.search.Hits; import com.bcstnet.struts.services.SearchBean;
import javax.sql.DataSource; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException;
/** * * @author Creatxr */ public class SearchAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
//insert the authencate codes here
DynaActionForm myform = (DynaActionForm) form; String keywords = (String) myform.get("keywords"); request.setAttribute ("keywords", keywords); System.out.println (keywords); try { System.out.println (new String(keywords.getBytes("UTF8"), "UTF8")); } catch (Exception e) { System.out.println ("encoding error" + e); } /* try { //String keywords = new String (((String)myform.get ("keywords")).getBytes(), "UTF8"); keywords = new String (keywords.getBytes(), "UTF8"); } catch (Exception e) { System.out.println ("encoding error"); } try { request.setAttribute ("keywords", new String(keywords.getBytes(),"UTF8")); } catch (Exception e) { System.out.println ("encoding error"); } //request.setAttribute("testData", servlet.getServletContext().getRealPath("/"));
try { request.setAttribute ("testData", new String("中国".getBytes("UTF8"), "UTF8")); } catch (Exception e) { } */ SearchBean searchBean = new SearchBean (); Hits hits = searchBean.search (keywords); request.setAttribute ("hits", hits);
return mapping.findForward ("Success"); } }
|