一。“struts.action.extension”指定需要Struts 2处理的请求后缀
FilterDispatcher是Struts
2框架的核心控制器,它负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户请求。默认情况下,如果用户请求的路径以.action结尾,该请求将被转入Struts
2框架处理,否则该请求将略过Struts 2框架的处理。
默认处理的后缀是可以通过常量”struts.action.extension“进行修改的,如下面配置Struts
2只处理以.do为后缀的请求路径:
-
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
-
<!DOCTYPE struts PUBLIC
-
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
-
"http://struts.apache.org/dtds/struts-2.0.dtd"
>
-
<
struts
>
-
<
constant
name
=
"struts.action.extension"
value
=
"do"
/>
-
</
struts
>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.extension" value="do"/>
</struts>
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。如:
-
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
-
<!DOCTYPE struts PUBLIC
-
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
-
"http://struts.apache.org/dtds/struts-2.0.dtd"
>
-
<
struts
>
-
<
constant
name
=
"struts.action.extension"
value
=
"do,action"
/>
-
</
struts
>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.extension" value="do,action"/>
</struts>
二。其他一些基本常量
1。<!-- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker
、velocity的输出 -->
-
<
constant
name
=
"struts.i18n.encoding"
value
=
"UTF-8"
/>
<constant name="struts.i18n.encoding" value="UTF-8"/>
2。<!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
-
<
constant
name
=
"struts.serve.static.browserCache"
value
=
"false"
/>
<constant name="struts.serve.static.browserCache" value="false"/>
3。<!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开
-->
-
<
constant
name
=
"struts.configuration.xml.reload"
value
=
"true"
/>
<constant name="struts.configuration.xml.reload" value="true"/>
4。<!-- 开发模式下使用,这样可以打印出更详细的错误信息,html表单数据中有和action属性匹配不上的参数名时就会提示
-->
-
<
constant
name
=
"struts.devMode"
value
=
"true"
/>
<constant name="struts.devMode" value="true" />
5。<!-- 默认的视图主题 -->
-
<
constant
name
=
"struts.ui.theme"
value
=
"simple"
/>
<constant name="struts.ui.theme" value="simple" />
6。<!– 与spring集成时,指定由spring负责action对象的创建 -->
-
<
constant
name
=
"struts.objectFactory"
value
=
"spring"
/>
<constant name="struts.objectFactory" value="spring" />
7。<!–该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。
-->
-
<
constant
name
=
"struts.enable.DynamicMethodInvocation"
value
=
"false"
/>
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
8。<!--上传文件的大小限制-->
-
<
constant
name
=
"struts.multipart.maxSize"
value
=
"10701096"
/>
<constant name="struts.multipart.maxSize" value="10701096"/>
一定要注意参数名的书写格式。像maxSize一定不能写maxsize等。
三。常量定义
下面以对struts.i18n.encoding=UTF-8的配置为例进行说明:
在struts.xml配置形式如下:
-
<
struts
>
-
<
constant
name
=
"struts.i18n.encoding"
value
=
"gbk"
>
</
constant
>
-
</
struts
>
<struts>
<constant name="struts.i18n.encoding" value="gbk"></constant>
</struts>
在struts.properties的配置形式如下:
-
struts.i18n.encoding
=
UTF
-8
struts.i18n.encoding=UTF-8
在web.xml中配置如下:
-
<
filter
>
-
<
filter-name
>
struts2
</
filter-name
>
-
<
filter-class
>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
-
</
filter-class
>
-
<
init-param
>
-
<
param-name
>
struts.i18n.encoding
</
param-name
>
-
<
param-value
>
UTF-8
</
param-value
>
-
</
init-param
>
-
</
filter
>
<filter>
<filter-name>struts2</filter-name>
<filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
四。配置文件的优先级
通常,struts2按如下搜索顺序加载struts2常量:
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面文件中配置的常量值.
五、设置临时文件上传路径
<constant name="struts.multipart.saveDir" value="/tmp"/>
不加错误提示:
Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir
提示该
struts.multipart.saveDir属性未设置。
转载自iteye http://ryxxlong.iteye.com/blog/807704
分享到:
相关推荐
本文档主要针对"struts2.0常用标签"进行详细讲解,帮助开发者更好地理解和使用这些标签。 1. **ognl表达式**:Struts2中的标签大部分都基于OGNL(Object-Graph Navigation Language)表达式,它用于在视图层和模型层...
Struts 2.0 是一个基于MVC(Model-View-Controller)设计模式的Java Web...在"struts2.0常用标签.txt"文件中,你可能会找到更多关于这些标签的详细使用示例和解释,这将有助于进一步学习和掌握Struts 2.0 标签的用法。
二、Struts2.0的常用标签介绍 Struts2.0提供了丰富的标签库,分为非UI标签和UI标签两大类。非UI标签主要用于控制流程和数据处理,例如用于URL重写,用于输出变量值。而UI标签则专注于页面元素的展示,如、等,它们...
接下来,我们详细讨论一些常用的Struts 2.0标签: 1. 非UI标签: - `s:if`, `s:elseif` 和 `s:else`:这些标签用于执行基本的条件流转。例如,你可以根据特定的条件展示不同的内容。`test`属性是必需的,它是一个...
以下是关于 Struts2.0 常用标签的详细说明: 1. 条件标签: - `<s:if>`、`<s:elseif>` 和 `<s:else>` 标签用于实现条件判断。例如,`${expression}">` 用于检查指定的表达式是否为真,若为真则显示标签内容。`...
Struts2.0和FreeMarker是Java Web开发中常用的两个技术框架,它们在构建MVC(Model-View-Controller)架构的应用程序时起着至关重要的作用。Struts2.0是一个强大的、开源的Web MVC框架,它极大地简化了Java Web应用...
Struts2.0和FreeMarker是Java Web开发中常用的两个技术框架,它们分别负责MVC模式中的控制器和视图部分。Struts2.0作为一款强大的MVC框架,提供了丰富的功能来简化Web应用的开发,而FreeMarker则是一款模板引擎,...
这个文档集合旨在帮助初学者快速掌握Struts2.0的核心概念和常用特性,使他们能够有效地利用该框架进行项目开发。 首先,"struts2.0文档1-2.doc"可能涵盖了Struts2的基础知识,包括框架的安装和配置。这部分内容可能...
Struts2.0是Struts框架的一个重大升级版本,它在继承了Struts1.x的优良特性基础上,引入了大量的新功能和改进,特别是在标签库方面,提供了更为强大、灵活和易于使用的标签集,大大简化了Web应用的开发过程。...
Struts2.0简明教程是一系列针对初学者和进阶者的教程,旨在帮助开发者快速理解和掌握Struts2框架的核心概念和技术。这个教程涵盖了从框架的初步安装到实际开发中的常见功能,包括Action、标签(Tag)、转换器...
接下来,我们详细探讨一下Struts 2.0中一些重要的标签及其用法: A. `<s:a>` 和 `<s:action>`: - `<s:a href="">`: 创建一个超链接,可以结合Action进行跳转,如`<s:a href="actionName">Link Text</s:a>`。 - `...
### Struts2.0 标签 $ # % 的区别详解 #### 一、概述 Struts2框架作为Java Web开发中的重要组成部分,在处理MVC架构时提供了强大的支持。其中,Struts2标签库(Struts2 Tags Library)是开发者常用的工具之一,它...
Struts2.0是Java企业级开发中广泛使用的MVC框架,它提供了强大的控制器层,使得Web应用的架构更加清晰,降低了前后端的耦合度。这个压缩包中包含的"struts2.0中文帮助手册"是学习Struts2.0的重要参考资料,可以帮助...
### 常用的Struts 2.0标签介绍 #### 非UI标签 Struts 2框架中,非UI标签主要用于控制流程和逻辑处理,而非直接与用户界面交互。下面详细介绍两种非UI标签:`<s:if>`、`<s:elseif>`、`<s:else>`以及`<s:iterator>`...
Struts2.0是Struts框架的一个重大升级版本,它提供了更为强大且灵活的MVC架构支持,尤其在标签库方面进行了显著的增强。相比于Struts1.x,Struts2.0的标签库不仅功能更加强大,而且更加易于使用,能够帮助开发者快速...
下面详细介绍一些常用的Struts2标签: 1. **`<s:a>`** - 这个标签用于创建超链接,类似于HTML中的`<a>`标签。例如: ```jsp <s:a href="%{actionURL}">Link ``` 上述代码会生成一个指向`actionURL`地址的超链接...
### Struts2.0新标签的用法 ...以上介绍了Struts2.0中几个常用的新标签的使用方法,包括如何创建URL、复选框列表以及下拉列表框。这些标签的灵活运用可以大大提高Web应用程序的开发效率和用户体验。
### Struts2.0 分页实现详解 #### 一、概述 在Web应用程序开发中,分页是一项常用且重要的功能,它可以有效地管理大量的数据展示,提高用户体验。Struts2.0作为一款流行的Java Web框架,提供了强大的功能来帮助...
本入门实例是一个集成了REST、Struts2.0、Hibernate和Spring的可运行项目,旨在帮助初学者快速理解RESTful API的开发与应用。 1. REST概念: REST代表表述性状态转移(Representational State Transfer),它强调...