读书人

SSH中JSP页面向数据库添加数据 到Acti

发布时间: 2012-04-02 19:58:59 作者: rapoo

SSH中JSP页面向数据库添加数据 到Action时是乱码.在线等
这是我的页面

Java code
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%    String path = request.getContextPath();    String basePath = request.getScheme() + "://"            + request.getServerName() + ":" + request.getServerPort()            + path + "/";%><%request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8"); %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>    <head>        <base href="<%=basePath%>">        <title>My JSP 'add.jsp' starting page</title>        <meta http-equiv="pragma" content="no-cache">        <meta http-equiv="cache-control" content="no-cache">        <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">        <meta http-equiv="description" content="This is my page">        <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->    </head>    <body>        <form action="orderInfo.do?op=add" method="post">            家居客家具预定            <table>                <tr>                    <td>                        家具品牌                    </td>                    <td>                        <select name="orderInfoDto.FBrand">                            <option value="请选择">                                请选择                            </option>                            <option value="百强">                                百强                            </option>                            <option value="意风">                                意风                            </option>                            <option value="华日">                                华日                            </option>                            <option value="红苹果">                                红苹果                            </option>                            <option value="美克美家">                                美克美家                            </option>                        </select>                    </td>                </tr>                <tr>                    <td>                        产品类型                    </td>                    <td>                        <input type="radio" name="orderInfoDto.FType" value="床垫" >                        床垫                          <input type="radio" name="orderInfoDto.FType" value="床头柜 ">                        床头柜                          <input type="radio" name="orderInfoDto.FType" value="地柜">                        地柜                      </td>                </tr>                <tr>                    <td>                        联系人                    </td>                    <td>                        <input type="text" name="orderInfoDto.FContact">                    </td>                </tr>                <tr>                    <td>                        联系电话                    </td>                    <td>                        <input type="text" name="orderInfoDto.FPhone">                    </td>                </tr>                <tr>                    <td>                        <input type="submit" value="提交预定">                    </td>                </tr>            </table>        </form>    </body></html> 



我的Action:
Java code
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */package com.db.web.action;import java.util.List;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.apache.struts.action.DynaActionForm;import org.apache.struts.actions.DispatchAction;import com.db.biz.IOrderInfoBiz;import com.db.entity.dto.OrderInfoDto;/** * MyEclipse Struts Creation date: 02-27-2011 *  * XDoclet definition: *  * @struts.action path="/orderInfo" name="orderInfoForm" parameter="op" *                scope="request" validate="true" */public class OrderInfoAction extends DispatchAction {    /*     * Generated Methods     */    private IOrderInfoBiz orderInfoBiz = null;    public void setOrderInfoBiz(IOrderInfoBiz orderInfoBiz) {        this.orderInfoBiz = orderInfoBiz;    }    /**     * Method execute     *      * @param mapping     * @param form     * @param request     * @param response     * @return ActionForward     */    public ActionForward add(ActionMapping mapping, ActionForm form,            HttpServletRequest request, HttpServletResponse response) {        DynaActionForm orderInfoForm = (DynaActionForm) form;        String path = "all";        try {            OrderInfoDto dto = (OrderInfoDto) orderInfoForm.get("orderInfoDto");            System.out.println(dto.getFBrand());            orderInfoBiz.add(dto);        } catch (RuntimeException e) {            e.printStackTrace();            path = "error";            throw e;        }        return mapping.findForward(path);    }    public ActionForward all(ActionMapping mapping, ActionForm form,            HttpServletRequest request, HttpServletResponse response) {        DynaActionForm orderInfoForm = (DynaActionForm) form;        List list = orderInfoBiz.All("from OrderInfo");        request.setAttribute("list", list);        return mapping.findForward("all");    }}

我的Struts配置文件
XML code
<?xml version="1.0" encoding="gbk"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>    <data-sources />    <form-beans>        <form-bean name="orderInfoForm" type="org.apache.struts.action.DynaActionForm">            <form-property name="orderInfoDto" type="com.db.entity.dto.OrderInfoDto" />        </form-bean>    </form-beans>    <global-exceptions />    <global-forwards />    <action-mappings>        <action attribute="orderInfoForm" name="orderInfoForm"            parameter="op" path="/orderInfo" scope="request"            type="org.springframework.web.struts.DelegatingActionProxy">            <set-property property="cancellable" value="true" />            <forward name="all" path="/index.jsp" />        </action>    </action-mappings>    <message-resources parameter="com.db.web.ApplicationResources" />    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">        <set-property property="contextConfigLocation"            value="classpath:applicationContext*.xml" />    </plug-in></struts-config> 



[解决办法]
加过滤器 很方便的
1:在你写JAVA类的地方新建个 类。filter 内容:
package com.yourcompany.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class filter implements Filter{

public void destroy() {
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {
}

}
2:在web.xml添加 映射文件(注:<filter-class>写你过滤器类的路径</filter-class>)
<filter>
<filter-name>fileter</filter-name>
<filter-class>com.yourcompany.filter.filter</filter-class>
</filter>
<filter-mapping>
<filter-name>fileter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

读书人网 >J2EE开发

热点推荐