`
我想我是海
  • 浏览: 213668 次
社区版块
存档分类
最新评论

Webwork Forward 2 html

阅读更多

Web浏览器是否能正确显示一个Web页通常依赖两个条件:
一、页面的编码(文件编码).
二、该页定义的contentType.

其中页面的编码是决定性的因素。两者一致是,浏览器会正常显示内容,否则有可能产生乱码现像。

如果一个Html文件,文件编码为UTF-8。contentType设为相同。则使用IE或Firefox查看,两者都会自动选择正确的编码形式来解释。当我将contentType设为GB2312,以为会造成乱码,结果不会。我认为原因是这样的:文件编码起决定作用,加上Utf-8包括了GB该有的字符,所以这种情况是以大的来认识小的。没问题。(不知是否有理解错误 :P)。

上述情况为使用浏览器直接把开网页文件的结果。当我使用Webwork的Action时,将Html文件作为结果时(结果类型为dispatcher),乱码出现了!文件编码为UTF-8,页面定义的ContentType为UTF-8。但是偏偏使用IE及FireFox均得到乱码的结果。郁闷中用Firefox查看了页面的属性,惊奇地发现页面编码居然是GB2312。我猜想是Webwork在Dispatch页面的时候使用了默认的编码,把本来UTF-8编码的页面重新用GB2312编码一次。于是试着在Action里面获得Response并把字符编码改为UTF-8。最后发现结果依然一样。这时,我觉得在Action完成后,Webwork接下来使用了Response,我的设置被重置了。于是决定自已写一个Servlet,指定字符编码为UTF-8,结果直接Forward到我的Html页面。结果正确了!再查看页面信息,两者都是UTF-8了。

平时使用Webwork来Dispatch的都是Jsp,不曾出现过这样的情况。原因是Jsp仍需要编译,编译时会读取Jsp页面指定的ContentType来决定Response里的字符编码。HTML文件则不一样。这时只能使用默认编码。如果我的工程是Gb2312,那根本就不存在刚才所讲的问题的。

分享到:
评论

相关推荐

    Webwork 的 验证 客服端 和 服务器段 数据验证

    2. **编写验证方法**:为每个需要验证的字段创建对应的验证方法,如`validateMyField()`。 3. **拦截器**:Webwork 使用拦截器来执行验证。`ValidationInterceptor`是一个内置的拦截器,它会自动调用你的验证方法并...

    WebWork2.2.7之简单文件上传

    WebWork2.2.7支持使用HTML的`<input type="file">`元素来创建一个文件选择器,用户可以选择本地文件进行上传。当用户提交表单时,这些文件会被封装在HTTP请求的multipart/form-data编码中。 首先,我们需要在HTML...

    ajax在jsp、struts、servlet、webwork中的应用

    由于WebWork已经被Struts 2所取代,这里不再详细展开其配置方法。WebWork框架中的配置与Struts框架类似,主要是通过配置文件指定Action的处理逻辑。 #### 五、总结 通过上述示例可以看出,无论是在JSP、Struts、...

    struts1和struts2的区别

    Action的区别 对于有着丰富的Struts1.x开发经验的朋友来说,都十分的清楚Action是整个Struts框架的核心内容,当然Struts2...Spring框架使得这个模式流行起来,然而Struts2的前身(WebWork)也同时应用上了这个模式。

    struts2最佳实践,实例学习

    - Struts1过于成熟且存在局限性,导致其逐渐分化出两个方向:与WebWork结合的Struts2和采用全新设计思想的Shale。 - Struts2实际上是基于WebWork的,但因为Struts品牌的影响力更大而沿用了此名称。 - Shale则更...

    js宝方法方法法笑嘻嘻典

    【JS宝典:深入理解ActionForward与ActionMapping在Struts2框架中的作用】 在Web开发领域,Struts2框架以其强大的MVC模型而备受推崇,它源于Webwork2框架,后者是一个基于命令模式的Web框架XWork。Webwork的核心...

    Struts2 简介

    Struts2的出现是由于WebWork和Struts社区的合并,它继承了两者的优势,提供了更高效、灵活的架构。 在Struts2中,MVC模式被清晰地实现,其中包括关键组件如拦截器、Object-Graph Navigation Language(OGNL)表达式...

    Struts1及14. Struts2学习笔记

    Struts2是Struts1的升级版,它吸取了其他优秀框架的优点,如Spring、WebWork等,提供更强大的功能和更灵活的配置。Struts2的核心是FilterDispatcher,它处理所有请求并根据配置的拦截器链进行处理。Struts2支持OGNL...

    struts2.0中文教程

    Struts2结合了Struts1和WebWork的优势,提供了更加灵活、强大的功能,包括拦截器、插件机制和强大的动作调度等。 该教程可能涵盖以下主要知识点: 1. **基础知识**:首先,教程会介绍Struts2的基本概念,如MVC架构...

    struts(架包+配置)(已整理好)

    Struts 2是在Struts 1的基础上发展起来的,由Struts 1和WebWork框架合并而成,于2007年发布。它的设计更加灵活,提供了更多的特性: 1. **拦截器(Interceptors)**:Struts 2的核心是拦截器,它们按照预定义的顺序...

    Struts技术

    - **基础架构**:Struts1.x基于Servlet API构建,而Struts2.x则基于WebWork框架。 - **工作原理**:Struts1.x使用ActionServlet作为中心控制器,而Struts2.x采用拦截器机制。 - **配置方式**:Struts1.x依赖XML文件...

    struts源码struts源码struts源码

    Struts 1是其最初的版本,而Struts 2是后续的一个重大改进,它整合了WebWork框架的许多优秀特性。 源码分析对于理解Struts的工作原理至关重要,特别是对于开发者来说,能够深入研究源码可以帮助他们更好地调试、...

    轻量级javaEE笔记

    Struts2是Struts的下一代版本,它整合了WebWork框架,提供了更强大、更灵活的功能。Struts2采用拦截器(Interceptor)机制,增强了对AOP(面向切面编程)的支持,同时支持多种结果类型和模板技术,如FreeMarker、...

    2023年javaWeb面试题含答案.doc

    Struts2 是 Struts1 和 WebWork 的结合体。Struts1 规定 Action 类继承一个抽象基类,而不是接口。Struts2 的 action 类可以实现一个 action 接口,也可以实现其他接口。Struts1 action 是单例模式,线程是安全的。...

    【struts1.x-2.0】-jar包大全

    Struts 2是Struts 1的继任者,它吸取了许多其他框架的优点,如WebWork,提供了更强大的功能和更灵活的架构。 1. **核心组件** - **Action**:类似Struts 1,但更加强大,可以使用注解进行配置,支持OGNL表达式语言...

    struts实用教程

    Struts2融合了WebWork的优势,提供了更强大的拦截器(Interceptor)机制,更灵活的配置方式,以及更多的插件支持。 10. **最佳实践**: - 使用ActionSupport作为Action类的基础类,以获得内置的错误处理和验证功能...

    struts api 中文

    10. **Struts 1与Struts 2的区别**:Struts 2是Struts的下一代版本,它吸取了其他框架的优点,如WebWork,提供了更灵活的配置和更强大的功能,如OGNL表达式语言、拦截器链等。 总的来说,Struts API中文版为开发者...

    struts项目

    Struts 1是在2000年代初推出的,随后在2007年发布了Struts 2,它融合了Struts 1和WebWork框架的优势。 在Struts框架中,以下是一些核心概念和组件: 1. **Action类**:Action类是业务逻辑处理的核心,它负责接收...

    开发框架学习

    题目中的第13题提到了Struts2的一些基本特点,包括其对MVC模式的简化和支持WebWork核心技术。 通过以上分析可以看出,MVC框架的学习不仅涉及基础知识的理解,还需要掌握如何在实际项目中运用这些知识。希望以上的...

Global site tag (gtag.js) - Google Analytics