常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下:
在struts.xml中配置常量
<struts>
<constant name="struts.action.extension" value="do,action" />
</struts>
在struts.properties中配置常量
struts.action.extension=do,action
因为常量可以在下面多个配置文件中进行定义,所以我们需要了解struts2加载常量的搜索顺序:
struts-defalut.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
注意:如果在过个文件中配置同一个常量,则后一个文件中配置的常量会阀盖前面文件中配置的常量值。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<filter>
<filter-name>Struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
修改请求后缀:struts.action.extension ,默认为action
首先现在web.xml的<url-pattern>/*</url-pattern>中截获请求,如果用户请求的路径不带后缀或者后缀以.action 结尾,这时请求将被转入Struts 2框架处理,否则Struts 2框架将略过该请求的处理。然后在struts.xml中根据定义的后缀,进行筛选,若后缀符合就进行显示,若不符合就会报错。
若在web.xml的<url-pattern>*.action</url-pattern> 则只能以.action为后缀
若在web.xml的<url-pattern>*.do</url-pattern> 则只能以.do为后缀
下面介绍一下常用的常量:
<!-- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 -->
<constant name="struts.action.extension" value="do"/>
<!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false"/>
<!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"/>
<!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
<constant name="struts.devMode" value="true" />
<!-- 默认的视图主题 -->
<constant name="struts.ui.theme" value="simple" />
<!- 与spring集成时,指定由spring负责action对象的创建 -->
<constant name="struts.objectFactory" value="spring" />
<!-该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。最好不使用动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
http://localhost:8080/struts2/test/list!addUI.action 动态方法调用,不建议使用了
<!--上传文件的大小限制-->
<constant name="struts.multipart.maxSize" value=“10701096"/>
分享到:
相关推荐
### Struts2常用常量详解 #### 一、概述 Struts2是一个基于MVC设计模式的开源Java Web框架,它极大地简化了Web应用程序的开发流程,并提供了丰富的插件支持和灵活的配置选项。本文将重点介绍Struts2中常用的配置...
### Struts2常量设置详解 #### 一、概述 在Struts2框架中,配置文件`struts.properties`用于定义一系列重要的系统级配置项,这些配置项对框架的行为模式和功能实现起着至关重要的作用。本文将详细介绍该文件中几个...
常用的Struts2常量设置 如: <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,...
5. **Struts2配置文件**:struts.xml是Struts2项目的主配置文件,用于定义Action、Interceptor、常量等。开发者可以根据需要在其中配置URL映射、拦截器栈、全局结果等。 6. **国际化与主题支持**:Struts2支持多...
其中,`struts.xml`是Struts2的核心配置文件,用于定义项目的包、常量、拦截器等基本设置以及具体的Action配置。 #### 一、`struts.xml`文件结构与基础配置 **1. 文件声明与DTD定义** ```xml <!DOCTYPE struts ...
- **其他配置文件**:还可以有额外的配置文件,如拦截器配置文件、常量配置文件等,这些文件可以被struts.xml引用。 4. **视图技术**:Struts 2支持多种视图技术,如JSP、FreeMarker、Velocity等。 - **JSP**:最...
配置文件中,`<constant>`标签用于设置全局常量,如`struts.devMode`控制开发模式。`<package>`标签用于组织Action,解决重名问题,并可以继承其他包的配置,实现代码复用。 **四、OGNL (Object-Graph Navigation ...
相比于`struts.xml`,它更常用来定义全局的框架属性。例如,`struts.action.extension`可以在`struts.properties`中配置,使得设置更加简洁。这种方式便于管理,但可能不如`struts.xml`灵活,因为不能直接定义复杂的...
4. **常量配置**:全局常量可以在包级别定义,可以控制Struts2的行为,例如Action的默认结果、异常处理策略等。 5. **继承与覆盖**:包可以继承其他包的配置,通过`extends`属性指定父包,这样就可以复用父包的配置...
6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为什么需要UI组件标签 139 7.2 标签、模板和主题 144 7.2.1 标签 146 7.2.2 模板 146 7.2.3 ...
7.开启struts2自带的开发模式常量 6 8.vo传参模式 7 9.ModerDriven传参模式(不建议采用) 7 10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置...
Struts2 文件上传是Java Web开发中常见的功能,主要用于接收用户通过表单上传的文件。在Struts2框架中,虽然它自身不处理`...如果需要更换文件上传组件,只需调整Struts2配置中的`struts.multipart.parser`常量即可。
以下是几个常用的Struts2常量: - `<constant name="struts.i18n.encoding" value="UTF-8"/>`:指定Web应用的默认编码集,等同于调用`HttpServletRequest`的`setCharacterEncoding`方法。 - `<constant name="...
### Struts2配置文件及其代码示例解析 #### 一、Struts2概述 Struts2是一个基于MVC模式的开源Web应用框架,它继承了Struts1的优点,并且进行了大量的改进,支持拦截器、结果类型、动态方法调用等功能。在Struts2中...
1. **在`struts.xml`文件中配置**:这是最常用也是最推荐的方式,因为`struts.xml`是Struts2的核心配置文件,用于集中管理框架的各种配置。这种方式易于维护和阅读,同时也方便进行版本控制。 2. **在`web.xml`文件...
在"struts常用jar包和简单配置文件"中,我们将深入探讨Struts的核心组件、配置文件以及它们在实际项目中的应用。 首先,我们来看Struts的核心jar包。在Java Web项目中,Struts的jar文件是必不可少的,它们提供了...
4. **配置Struts 2**:详解struts.xml配置文件,包括常量配置、包配置、Action配置、结果配置等。 5. **Action与结果**:深入理解Action类的设计模式,以及如何定义和使用Result类型,如Redirect、Stream、...
**ActionSupport** 类是 **Struts2** 提供的一个非常有用的基类,它实现了许多常用的方法和功能,可以帮助开发者快速构建 Action。 - **常量定义**:`ActionSupport` 类中定义了一系列常量,如 `SUCCESS`, `NONE`, ...
例如,设置`struts.i18n.encoding`和`struts.action.response.content.type`常量,确保所有请求和响应都使用统一的编码格式,通常是UTF-8。 ```xml <constant name="struts.i18n.encoding" value="UTF-8"/> ...