`
wenson
  • 浏览: 1053711 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解決appfuse2中DisplayTag中文乱码問題

阅读更多
    近来学习appfuse2一直受着displaytag中文乱码的困挠,如果是刚刚下载下来的源代码编译后没有乱码,但是如果做了相应的displaytag中文修改、或者增加了新pojo之后,重新启动就会产生乱码。
    百度、google了几天,发现都是appfuse1的解决办法,appfuse2的几乎没有,有的只是从生成的war档文件中修改,但是如果重新修改添加displaytag之后就又有问题了,没有冲根本上解决……

    这个过程中,发现ApplicationResources_zh.properties却无论如何都没有乱码。后来仔细检查pom.xml配置文件,发现ApplicationResources_zh.properties和displaytag_zh.properties对配置还真不一样,原文件对ApplicationResources.properties的相关配置文件是:

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>native2ascii-maven-plugin</artifactId>
                <version>1.0-alpha-1</version>
                <configuration>
                    <dest>target/classes</dest>
                    <src>src/main/resources</src>
                </configuration>
                <executions>
                    <execution>
                        <id>native2ascii-utf8</id>
                        <goals>
                            <goal>native2ascii</goal>
                        </goals>
                        <configuration>
                            <encoding>UTF8</encoding>
                            <includes>
                                ApplicationResources_ko.properties,
                                ApplicationResources_no.properties,
                                ApplicationResources_tr.properties,
                                ApplicationResources_zh*.properties
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>native2ascii-8859_1</id>
                        <goals>
                            <goal>native2ascii</goal>
                        </goals>
                        <configuration>
                            <encoding>8859_1</encoding>
                            <includes>
                                ApplicationResources_de.properties,
                                ApplicationResources_fr.properties,
                                ApplicationResources_nl.properties,
                                ApplicationResources_pt*.properties
                                ApplicationResources_zh*.properties
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

以及——

<resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>ApplicationResources_de.properties</exclude>
                    <exclude>ApplicationResources_fr.properties</exclude>
                    <exclude>ApplicationResources_ko.properties</exclude>
                    <exclude>ApplicationResources_nl.properties</exclude>
                    <exclude>ApplicationResources_no.properties</exclude>
                    <exclude>ApplicationResources_pt*.properties</exclude>
                    <exclude>ApplicationResources_tr.properties</exclude>
                    <exclude>ApplicationResources_zh*.properties</exclude>
                    <exclude>applicationContext-resources.xml</exclude>
                    <exclude>struts.xml</exclude>
                </excludes>
                <filtering>true</filtering>
            </resource>

发现一直都没有对关于ApplicationResources以外的*.properties文件进行配置处理,于是照以上看来native2ascii只有对ApplicationResources进行了国际化编码了而已,其他的都没有进行。于是做了一下修改——

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>native2ascii-maven-plugin</artifactId>
                <version>1.0-alpha-1</version>
                <configuration>
                    <dest>target/classes</dest>
                    <src>src/main/resources</src>
                </configuration>
                <executions>
                    <execution>
                        <id>native2ascii-utf8</id>
                        <goals>
                            <goal>native2ascii</goal>
                        </goals>
                        <configuration>
                            <encoding>UTF-8</encoding>
                            <includes>
                                ApplicationResources_ko.properties,
                                ApplicationResources_no.properties,
                                ApplicationResources_tr.properties,
                                *_zh*.properties
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>native2ascii-8859_1</id>
                        <goals>
                            <goal>native2ascii</goal>
                        </goals>
                        <configuration>
                            <encoding>8859_1</encoding>
                            <includes>
                                ApplicationResources_de.properties,
                                ApplicationResources_fr.properties,
                                ApplicationResources_nl.properties,
                                ApplicationResources_pt*.properties
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

以及——

<resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>ApplicationResources_de.properties</exclude>
                    <exclude>ApplicationResources_fr.properties</exclude>
                    <exclude>ApplicationResources_ko.properties</exclude>
                    <exclude>ApplicationResources_nl.properties</exclude>
                    <exclude>ApplicationResources_no.properties</exclude>
                    <exclude>ApplicationResources_pt*.properties</exclude>
                    <exclude>ApplicationResources_tr.properties</exclude>
                    <exclude>*_zh*.properties</exclude>
                    <exclude>applicationContext-resources.xml</exclude>
                    <exclude>struts.xml</exclude>
                </excludes>
                <filtering>true</filtering>
            </resource>

注意以上做了红字部分的修改

最后重启项目,登录测试,发现一切Ok,后来不管在displaytag对显示属性中作任何修改,乱码都不会出现,看来是彻底解决了。

分享到:
评论
2 楼 wenson 2007-11-07  
movingboy 写道
请问楼主:你生成工程代码时有没有使用fullsource方式?如果没有,能否试一下(试之前一定要备份完整的工程源码),再看看你的方案是否仍然有效?


您說對了,在下正是使用mvn appfuse:full-source之后做以上方案的。
1 楼 movingboy 2007-11-06  
请问楼主:你生成工程代码时有没有使用fullsource方式?如果没有,能否试一下(试之前一定要备份完整的工程源码),再看看你的方案是否仍然有效?

相关推荐

    appfuse学习笔记(三)解决乱码和菜单设置

    总之,理解和掌握AppFuse中的乱码解决策略以及菜单设置方法,对于高效地使用这个框架进行Web应用开发至关重要。通过正确配置编码和定制菜单,你可以确保应用的易用性和兼容性,同时提供个性化的用户界面。

    appfuse

    由于描述中提到“没有jar包”,这可能意味着下载的实例源码不包含运行所需的所有依赖库,因此需要开发者自行解决这个问题。 首先,为了运行这个AppFuse 2.0实例,你需要确保你的开发环境中安装了Java Development ...

    Appfuse2搭建文档

    在Appfuse2中,Struts提供了基础的控制器和视图模板。 2. **Hibernate**:这是一款对象关系映射(ORM)工具,使得开发人员可以使用Java对象来操作数据库,而无需编写SQL语句。Appfuse2利用Hibernate进行数据持久化...

    appfuse2学习日记

    ### AppFuse2 学习知识点总结 #### 一、AppFuse 概述 - **定义与价值**:AppFuse 是一款开源项目...以上是关于 AppFuse2 学习过程中涉及的关键知识点和步骤,希望能帮助初学者更好地理解和掌握 AppFuse2 的使用方法。

    appfuse/display/strutsMenu

    在提供的文档中,"Appfuse+2.doc"可能详细介绍了AppFuse的升级和改进,特别是版本2引入的新特性。"display.doc"可能涵盖DisplayTag的使用指南,包括如何在JSP页面上集成DisplayTag标签,以及如何配置和定制其行为。...

    appfuse2 + Myeclppse6.5 + Tomcat 6

    【描述】虽然描述为空,但我们可以推测这个教程可能涵盖了如何在MyEclipse中导入并配置AppFuse2项目,以及如何将配置好的应用部署到Tomcat6上运行。通过链接(已省略)访问的博客文章,读者可能会了解到详细的步骤,...

    Appfuse 2.doc

    如果尝试使用Ant来构建Appfuse 2.0,可能会遇到问题,因为官方已不再推荐使用Ant。 #### 四、安装Maven 接下来详细介绍如何在Windows 2000/XP环境下安装Maven 2.0.6: 1. **下载Maven**:访问官网 ...

    建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2

    2. 生成项目后,使用`mvn appfuse:full-source`命令初始化项目。这个命令会处理ant存在的问题,特别是Windows环境下遇到的问题,确保$USER_HOME/.m2/repository目录存在并包含正确的settings.xml文件。 3. 接下来,...

    APPFUSE工具研究.doc

    AppFuse分为1.x和2.0两个主要版本,其中2.0版是重构建的,采用了Maven 2作为构建工具,而1.x版本则使用Ant。 Maven 2的引入带来了许多优势,包括自动下载依赖项、简化维护(因为所有组件可以一次编译)以及方便最终...

    AppFuse

    AppFuse旨在帮助开发者简化项目启动过程中的复杂配置工作,提供了一套标准的目录结构、构建文件以及项目类,使得开发者能够专注于业务逻辑的实现而非基础架构的搭建。它支持多种流行的开源工具和技术框架,如Ant、...

    APPFUSE2.0中加入FCKeditor

    解决问题的方法通常涉及调试JavaScript代码、检查服务器日志,或者查阅FCKeditor和APPFuse的官方文档。 7. **最佳实践**:集成FCKeditor时的最佳实践可能包括使用Maven的依赖管理、保持代码整洁、编写单元测试来...

    appfuse学习笔记(一)安装部署

    在本文中,我们将深入了解如何安装并部署 AppFuse 项目。 **1. 预备知识** 在开始之前,确保你已经具备以下基础: - 熟悉 Java 开发环境,例如 JDK 已经正确安装。 - 理解 Maven 构建工具的基本概念和使用方法。 - ...

    appfuse 学习笔记

    在硬盘上创建一个项目根目录,例如 `E:\appfuse2-ly`。 **2. 使用 Maven 创建 Appfuse 项目** 在命令行中切换到项目根目录,然后输入以下命令: ```bash mvn archetype:create -DarchetypeGroupId=org....

    使用appfuse2建立项目原型骨架的步骤

    使用appfuse2建立项目原型骨架的步骤 appfuse2 项目原型 骨架

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录 网上很多帖子介绍appfuse2构建过程的,但是基于SQLServer2005的没有,顶多一笔带过,另外对于期间出现的各种问题也没有个说明,...

    AppFuse(2)

    这个版本的Velocity依赖包可能包含了所有必要的依赖,使得在AppFuse项目中直接使用Velocity模板变得简单。 7. **mysql-connector-java-5.0.5.jar**:这是MySQL的JDBC驱动程序,用于连接到MySQL数据库。这个版本的...

Global site tag (gtag.js) - Google Analytics