zoukankan      html  css  js  c++  java
  • 8、struct2解决中文乱码的方式

    首先建立一个jsp页面

    列如

    页面编码统一问题,这个最容易解决。

    <%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%>

    以GBK为例子,jsp页面加上上面一句就能解决页面编码问题。

    是以GBK可以进行提交和编码

    1、以get的方式提交,要解决以get的方式提交出现的乱码,只需要修改tomacat的配置文件就可以了

    配置应用服务器的编码,这里以tomcat为例子。找到server.xml这个配置文件,并在该文件中找到如下位置:

    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"/>

    在这里面加入URIEncoding="GBK"变成下面的样子

    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    URIEncoding="GBK" />

    2、以post的方式提交,修改tomacat的配置是无效的,可以采取下面的两种方式

    方式1:

    在struct.xml中进行配置

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
        <!-- 当struts.xml配置文件发生修改,会立刻加载,在生产环境下最好不要配置 -->
        <constant name="struts.configuration.xml.reload" value="true"/>
        <!-- 会提供更加友好的提示信息 -->
        <constant name="struts.devMode" value="true"/>
        <!-- 设置字符编码 -->
        <constant name="struts.i18n.encoding" value="GBK"/>
    
              
        <package name="user-package" extends="struts-default" namespace="/aa/a/a">
            <action name="add" class="com.bjpowernode.struts2.UserAction">
                <result>/add_user_success.jsp</result>
            </action>
        </package>          
    </struts>

       <constant name="struts.i18n.encoding" value="GBK"/> 默认的编码格式是utf-8

    第二种方式,在项目的web.xml中进行配置

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
            <init-param>
                <param-name>struts.i18n.encoding</param-name>
                <param-value>GB18030</param-value>
            </init-param>
        </filter>
    
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    </web-app>

    通过上面的操作就解决了struct2中get和post方式解决乱码的问题

  • 相关阅读:
    django模型系统(二)
    css基础
    css进阶
    django模型系统(一)
    自定义过滤器及标签
    django模板标签
    模板变量及模板过滤器
    第六章 异常
    第三章:多态
    第三章:提高系统性能:从数据访问开始
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/8056992.html
Copyright © 2011-2022 走看看