在一个用到struts项目中,如果有大量的action,一般都需要每个action都在struts-config.xml中加以配置,这样一来,如果一个项目有上百个Action类,struts-config.xml将会很大。而且也不易维护。
现在我介绍两种我常用的方式,供大家参考。
第一种,在web.xml中注册ActionServlet时,配一个<init-param>节点,<param-name>为config,这里和以往的配置一样,重点在<param-value>这个参数值的配置,默认情况下,一般配的都是/WEB-INF/config/struts-config.xml,其是,这里可以配多个struts配置文件,中间只需用英文逗号分隔开。这样的话,可以将项目中不同的模块的Action配到同一个struts配置文件中,这样做一是方便维护,再者就是使配置文件看起来一目了然。
如下的代码片段:
......
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>application</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/struts-config.xml,
/WEB-INF/config/struts-product-config.xml,
/WEB-INF/config/struts-user-config.xml,
/WEB-INF/config/struts-payment-config.xml,
/WEB-INF/config/struts-admin-config.xml,
/WEB-INF/config/struts-bill-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
......
第二种,这种方法,我认为最好,但是我发现也是大家用的最少的,也不知是什么原因。这种方式,不需要我个struts配置文件,只有一点需要注意,那就是所有的Action类和Form类的命名要统一。通常情况下,我是将业务功能来命名,比如说,创建类的,CreateProductAction/CreateProductForm;CreateAccountAction/CreateAccountForm等,修改类的,EditProductAction/EditProductForm;EditAccountAction/EditAccountForm等...
在web.xml中,不做任修改,只需配一个struts配置文件。重点是在这个struts配置文件内配置Action.
先看我下面给出的代码片段:
......
<action-mappings>
<action path="/Create*"
type="com.cottsoft.app.action.Create{1}Action"
name="Create{1}Form"
scope="request"
validate="false"
parameter="doaction">
<forward name="success" path="/successCreate{1}.jsp"></forward>
</action>
<action path="/Edit*"
type="com.cottsoft.app.action.Edit{1}Action"
name="Edit{1}Form"
scope="request"
validate="false"
parameter="doaction">
<forward name="success" path="/successEdit{1}.jsp"></forward>
</action>
</action-mappings>
......
以上这种方式只需要配置少量的Action,即可处理同一类型的Action动作。但是这种方式的对Action类名,Form类名,以及相关JSP页面名称的命名方式都要统一。但总的我认为这种方式还算是不错的,我平常也是这么用的。此外,统一的命名其实在一个项目中也是很有好处的,特别是当一个项目上一定规模后,上百个JSP,上面个JAVA类,如果命名不好,找起来会死人的。
分享到:
相关推荐
1. **配置Struts的Action**:在Struts的配置文件(struts-config.xml)中定义Action,这些Action通常会依赖于Spring管理的Bean。 2. **Spring-Struts集成**:使用Spring-Struts插件(spring-struts.jar),它提供了...
在Struts1中,ActionMapping通常在struts-config.xml配置文件中定义,包含了Action的路径、对应的Action类、转发或重定向的目标等信息。而在Struts2中,ActionMapping的概念有所变化,它被集成到了Action配置中,...
通过`contextConfigLocation`参数指定多个XML配置文件路径,其中`classpath*:`表示从类路径下的指定目录中加载所有符合通配符规则的XML文件。这样,Spring容器在启动时会自动加载这些配置文件并初始化。 #### 三、...
- **struts-config.xml:** 该文件是 Struts 应用的核心配置文件,用于定义 Action、ActionForm、ActionMapping 和 ActionForward 等元素。 - **web.xml:** 除了包含 Struts 必需的 Servlet 和过滤器配置外,还...
#### 在web.xml中进行Struts和Spring的配置 **表格1**: web.xml中配置Spring的Context(必需设置) ```xml <!-- 源代码目录下面应该有这些文件,注意,这里用到了通配符来匹配多个文件 --> <context-param> <param-...
3. **必须配置的参数**:在`struts-config.xml`文件中配置Action时,`path`和`type`是必需的参数,分别指定处理请求的路径和对应的Action类。 4. **数据封装与验证**:通过`name`属性来标识数据封装,通过`validate...
1. **搭建环境**:引入Struts2和Mybatis的jar包,配置web.xml和mybatis-config.xml,完成初始化设置。 2. **编码**:创建数据库表,封装实体类,定义DAO接口及mapper文件,注册mapper,编写Service和Action。 在...
- 为了防止Struts配置文件`struts-config.xml`变得过于庞大,可以通过在`web.xml`中添加多个配置文件路径,或者在`struts-config.xml`中使用通配符来批量配置Action。 - `action`元素的必要属性包括`path`(定义...
在`/WEB-INF`下创建`struts-config.xml`文件(配置内容如下)。 3. 在`web.xml`中正确配置`ActionServlet`。 ```xml <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.Action...
最后,创建相应的Action类和配置文件(struts.xml或struts-config.xml)。 三、Namespace: Namespace是Struts2中的命名空间,用来组织Action,防止Action之间的命名冲突。Namespace可以看作是Action的虚拟目录,...
在Struts 中,Action 分发是核心控制器DispatcherServlet 的工作,它接收HTTP 请求,解析请求参数,然后根据配置文件(如struts-config.xml 或struts2的struts.xml)将请求分发到相应的Action 类进行处理。...
1. **配置Struts**: 首先,你需要在`struts-config.xml`文件中配置Action和ActionForm。ActionForm用于接收和验证用户输入,Action则处理业务逻辑,调用服务层的方法。 2. **配置Hibernate**: 在`hibernate.cfg.xml...
- 将Struts2的核心配置文件`struts.xml`复制到项目的`src`目录下。 - 配置文件示例: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
4. MyBatis的搭建包括配置`mybatis-config.xml`,定义SqlSessionFactory,创建Mapper接口和Mapper XML文件,编写SQL语句。 在实际开发中,这些框架经常一起使用,Spring作为基础容器,管理SpringMVC和Hibernate或...
- **配置文件**:包括struts-config.xml,用于定义Action映射、Form Beans、数据源等,是Struts应用的核心配置。 2. **Struts工作流程** - 用户通过浏览器发送请求到Servlet容器(如Tomcat)。 - **Action...
Struts 配置文件(通常为struts-config.xml)定义了Action类与URL的映射关系,以及ActionForm Bean的相关设置。例如,查询图书的请求可能对应一个名为`BookQueryAction`的Action,删除图书的请求对应`...
- Struts配置文件:struts-config.xml的组成部分和配置规则。 - Tiles框架:用于构建复杂页面布局的Struts插件。 6. **面试技巧**: - 实际项目经验:分享参与过的项目,展示解决问题的能力。 - 代码能力:准备...
2. **配置Struts 2**:接着,配置Struts 2的struts.xml,定义Action类和结果视图,同时设置Spring插件以利用Spring管理的Bean。 3. **配置MyBatis**:编写Mapper接口和对应的XML配置文件,定义SQL语句。在Spring配置...