`
run_wang
  • 浏览: 169538 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

在使用Struts的过程中也遇到了一些问题

阅读更多
在使用Struts的过程中也遇到了一些问题,现在总结一下。

1、在web.xml中EncodingFilter的位置应该在Struts2的FilterDispatcher之前,道理很简单,要先调整字符集,再进入Action。

2、如果使用Url rewrite(url重写),要指定filter-mapping的dispatcher方式,如下
<filter-mapping>
    <filter-name>Struts2</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>

3、在做上传文件的时候,要在web.xml中增加ActionContextCleanUp这个filter,如果不增加,会发生第一次上传取不到文件的情况
<filter>
  <filter-name>struts-cleanup</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts-cleanup</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
按照Struts2的API,filter的顺序是
struts-cleanup filter
SiteMesh filter
FilterDispatcher

4、在Apache+Resin的情况下,要在WEB-INF下增加resin-web.xml,该文件只针对Resin有效,作用是指定后缀与Resin的Servlet引擎匹配,要不然从Apache转发过去的请求到Resin后会出现404的情况,resin-web.xml举例如下:
<web-app xmlns="http://caucho.com/ns/resin">
<servlet-mapping url-pattern='*.bbscs' servlet-name='plugin_match'/>       
</web-app>

5、在使用<s:url/>标签的时候,<s:url/>不会把stack里的数值带入url参数,可以在struts.properties文件中设置struts.url.includeParams=none
或是在<s:url/>标记中将includeParams属性里设置,includeparam有3种情况,none,get,all.
all,是把get和post中的参数加入到url参数中
get,是只把get中的参数加入到url参数中
none,都不加

6、与webwork基本相同,Struts2提供了几种ui.theme,有xhtml、css_xhtml、simple等等,在struts.properties中可以设置使用何种theme,这一点很关键,不同的theme,struts的tag会生成不同的html代码,而且在某些情况下这些theme不能满足页面要求,则需要自己进行扩展了,这些theme都是由freemarker写的,仿照这写就可以。

7、单个checkbox的标记库好像只能返回boolean的值,如果在数据库中设计为int型,则需要做一些转换,这一点我觉得不如Struts1.x的方便。

8、总体来说Struts2的标记库使用上比Struts1.x的方便,页面整体也比较简洁,Struts2采用stack的方式存取数据,与Struts1相比各有千秋吧。

Struts2主要延续自webwork,以前使用webwork的朋友转过来并不困难,Struts2的几个核心的部分,比如拦截器、Result Configuration、OGNL stack等等还是需要仔细的体会,深入了解,才能做出优秀的系统。
分享到:
评论

相关推荐

    struts2.5.16升级过程中遇到问题详述

    ### Struts2.5.16升级过程中遇到的问题详述 #### 一、概述 本文主要针对从旧版本Struts2框架升级至2.5.16版本时可能遇到的各种问题进行详细介绍,并给出相应的解决方案。这包括了jar包的替换与引入、配置文件的...

    struts2开发遇到的问题

    在使用 Struts2 进行开发时,开发者可能会遇到各种问题,这里我们将详细探讨一些典型的问题及其解决方法。 1. **警告:Settings: Could not parse struts.locale setting, substituting default VMlocale** 这个...

    Struts2升级到2.5.30,问题解决及过程记录

    在本文中,我们将探讨将Struts2从旧版本升级到2.5.30的过程中可能遇到的问题及其解决方案。 升级Struts2到2.5.30的主要目标是利用新版本提供的增强功能和安全补丁。Struts2的每个新版本通常会包含对前一版本的兼容...

    struts上传(已解决中文问题)

    在Struts框架中处理文件上传功能是一项常见的任务,但中文文件名在上传过程中可能会遇到乱码问题。这个问题通常与字符编码设置、服务器配置以及Struts的配置有关。 首先,让我们深入了解一下文件上传的基本原理。在...

    第一个Struts2程序中遇到的若干问题及解决方法

    在初学者尝试创建第一个Struts2程序时,可能会遇到一些常见问题。这篇博客将探讨这些问题并提供解决方案。 首先,配置问题是新手经常遇到的挑战。在搭建Struts2环境时,确保正确地在`web.xml`文件中配置了Struts2的...

    struts2 学习过程中的收获

    以下是一些你在学习过程中可能会遇到的关键概念: 1. **MVC模式**:理解MVC架构模式是使用Struts2的基础。Model代表业务逻辑,View负责展示,Controller处理用户请求并协调Model和View。 2. **Action类**:在...

    struts 2. 5.2解决中文乱码

    在Web应用中,数据在网络传输过程中是以字节流的形式,而字符集的不同可能导致字节流在解码时出现问题。例如,如果服务器端采用的字符集与客户端发送的数据所使用的字符集不一致,就可能导致乱码。 解决中文乱码...

    Struts2.5.2的配置及问题解决

    在配置过程中,可能会遇到各种问题。例如,日志配置不完整可能导致Tomcat无法启动或运行错误。在这种情况下,需要检查是否导入了log4j相关的jar包,以支持Struts2的日志输出。如果出现找不到类的错误,那通常是因为...

    struts2中警告消息问题的解决方法

    在使用Struts2开发过程中,有时会遇到“警告: Could not find property [xxx]”这样的错误消息,这通常是由于配置问题或者依赖库不匹配导致的。本文将深入探讨这些警告的成因及解决方法。 1. **问题成因**: - **...

    struts 中遇到的常见问题 解决,你还在痛苦中吗

    在学习和使用 Struts 框架的过程中,尤其是对于初学者来说,经常会遇到一些常见的问题,这些问题可能会导致程序无法正常运行或者出现各种错误提示。本文将针对其中一种常见的错误提示:“There is no Action mapped ...

    struts 中文乱码问题解决

    在IT领域,特别是Web开发中,Struts框架作为Java Web应用的一个重要组成部分,其在处理中文字符时常常遇到乱码问题。这个问题不仅影响了用户体验,也增加了开发者的调试难度。本文将深入探讨Struts框架中中文乱码的...

    解决使用struts2 时 访问web工程首页问题

    在使用Struts2框架进行Web开发的过程中,有时会遇到访问Web应用首页时出现拦截并报错的情况。错误信息通常为:“There is no Action mapped for namespace / and action name.”,这意味着Struts2在尝试处理请求时找...

    Struts框架下Ajax发送中文乱码问题的解决

    在实际应用中,我们常常会遇到Ajax与服务器交互时出现中文乱码的问题,尤其是在发送和接收中文数据时。这个问题主要涉及到字符编码的处理,解决起来需要对HTTP协议、字符编码原理以及Struts框架的工作机制有一定的...

    struts之中文乱码问题

    在处理中文字符时,Struts可能会遇到乱码问题,这主要是由于字符编码不一致或未正确配置导致的。下面我们将深入探讨这个问题,并提供解决策略。 **乱码产生的原因** 1. **请求编码不一致**:当用户通过表单提交...

    struts1中所遇到的配置问题

    在Struts1框架的学习与实践中,经常会遇到一些配置上的问题,这些问题如果不能及时解决,将会影响到项目的正常运行。本文主要针对一个常见的配置错误——“Name jdbc is not bound in this Context”以及“Cannot ...

    关于Struts2与Validation框架使用中的问题

    在实际开发中,经常遇到的问题可能包括:验证规则不生效、错误信息无法正确显示、国际化处理、自定义错误消息、以及如何处理验证失败时的回滚操作等。这些问题需要对Struts2和Validation框架有深入理解才能有效解决...

    struts2配置文件传值中文乱码

    在IT领域,特别是Web开发中,遇到中文乱码问题是相当常见的,尤其是在使用Struts2框架进行项目开发时。本文将围绕“Struts2配置文件传值中文乱码”这一主题,深入探讨其成因、解决方案以及相关的配置细节,旨在帮助...

    struts2和servlet的共存问题

    但在某些场景下,开发者可能需要同时使用Struts2和其他Servlet技术(如自定义Servlet或第三方Servlet),这时就会遇到Struts2与Servlet的共存问题。 #### 二、问题描述 当Struts2作为Web应用程序的前端控制器时,...

    struts2 中路径无法跳转的问题

    当遇到“Struts2中路径无法跳转的问题”时,这通常与配置、Action类、结果类型或JSP页面的设置有关。以下是一些可能导致问题的关键知识点: 1. **Struts2配置文件**: - 配置文件通常为`struts.xml`,这是定义...

    struts2 中文文件名文件下载

    在处理文件上传和下载时,Struts2可能会遇到一个常见的问题,即中文文件名的乱码问题。这是因为不同的系统和软件对字符编码的支持不同,尤其是涉及到网络传输时,编码的兼容性尤为重要。 在“struts2 中文文件名...

Global site tag (gtag.js) - Google Analytics