天天看点

struts2 属性配置文件

Struts2的配置文件,有些配置在项目中还是很实用的

struts.action.extension

           The URL extension to use to determine if the request is meant for a Struts action

            用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login.do的'do'字。

struts.configuration

           The org.apache.struts2.config.Configuration implementation class

             org.apache.struts2.config.Configuration接口名

struts.configuration.files

           A list of configuration files automatically loaded by Struts

            struts自动加载的一个配置文件列表

struts.configuration.xml.reload

           Whether to reload the XML configuration or not

            是否加载xml配置(true,false)

struts.continuations.package

            The package containing actions that use Rife continuations

            含有actions的完整连续的package名称

struts.custom.i18n.resources

           Location of additional localization properties files to load

            加载附加的国际化属性文件(不包含.properties后缀)

struts.custom.properties

           Location of additional configuration properties files to load

            加载附加的配置文件的位置

struts.devMode

           Whether Struts is in development mode or not

            是否为struts开发模式

struts.dispatcher.parametersWorkaround

           Whether to use a Servlet request parameter workaround necessary for some versions of WebLogic

             (某些版本的weblogic专用)是否使用一个servlet请求参数工作区(PARAMETERSWORKAROUND)

struts.enable.DynamicMethodInvocation

           Allows one to disable dynamic method invocation from the URL

             允许动态方法调用

struts.freemarker.manager.classname

           The org.apache.struts2.views.freemarker.FreemarkerManager implementation class

            org.apache.struts2.views.freemarker.FreemarkerManager接口名

struts.i18n.encoding

           The encoding to use for localization messages

            国际化信息内码

struts.i18n.reload

           Whether the localization messages should automatically be reloaded

            是否国际化信息自动加载

struts.locale

           The default locale for the Struts application

            默认的国际化地区信息

struts.mapper.class

           The org.apache.struts2.dispatcher.mapper.ActionMapper implementation class

             org.apache.struts2.dispatcher.mapper.ActionMapper接口

struts.multipart.maxSize

           The maximize size of a multipart request (file upload)

            multipart请求信息的最大尺寸(文件上传用)

struts.multipart.parser

           The org.apache.struts2.dispatcher.multipart.

           MultiPartRequest parser implementation for a multipart request (file upload)

           专为multipart请求信息使用的org.apache.struts2.dispatcher.multipart.MultiPartRequest解析器接口(文件上传用)

struts.multipart.saveDir

           The directory to use for storing uploaded files

            设置存储上传文件的目录夹

struts.objectFactory

           The com.opensymphony.xwork2.ObjectFactory implementation class

            com.opensymphony.xwork2.ObjectFactory接口(spring)

struts.objectFactory.spring.autoWire

           Whether Spring should autoWire or not

            是否自动绑定Spring

struts.objectFactory.spring.useClassCache

           Whether Spring should use its class cache or not

            是否spring应该使用自身的cache

struts.objectTypeDeterminer

           The com.opensymphony.xwork2.util.ObjectTypeDeterminer implementation class

             com.opensymphony.xwork2.util.ObjectTypeDeterminer接口

struts.serve.static.browserCache

   If static content served by the Struts filter should set browser caching header properties or not

            是否struts过滤器中提供的静态内容应该被浏览器缓存在头部属性中

struts.serve.static

           Whether the Struts filter should serve static content or not

            是否struts过滤器应该提供静态内容

struts.tag.altSyntax

           Whether to use the alterative syntax for the tags or not

            是否可以用替代的语法替代tags

struts.ui.templateDir

           The directory containing UI templates

            UI templates的目录夹

struts.ui.theme

           The default UI template theme

            默认的UI template主题

struts.url.http.port

           The HTTP port used by Struts URLs

            设置http端口

struts.url.https.port

           The HTTPS port used by Struts URLs

            设置https端口

struts.url.includeParams

           The default includeParams method to generate Struts URLs

           在url中产生 默认的includeParams

struts.velocity.configfile

           The Velocity configuration file path

            velocity配置文件路径

struts.velocity.contexts

           List of Velocity context names

            velocity的context列表

struts.velocity.manager.classname

           org.apache.struts2.views.velocity.VelocityManager implementation class

            org.apache.struts2.views.velocity.VelocityManager接口名

struts.velocity.toolboxlocation

           The location of the Velocity toolbox

            velocity工具盒的位置

struts.xslt.nocache

           Whether or not XSLT templates should not be cached

            是否XSLT模版应该被缓存

1:在action中定义的变量,在jsp页面中显示用:<s:property value="变量名" />

2:在页面中实现自动增加的序号用iterator的statuts的index属性 eg:

<s:iterator value="#request.inOutAccountList" id="data" status="listStat">

<s:property value="#listStat.index+1"/>

</s:iterator>

3:在action类中取得request和session对象的方法

Map session = ActionContext.getContext().getSession();

HttpServletRequest request = ServletActionContext.getRequest ();

设置它们的值的方法

session.put("operation", "add");

request.setAttribute("name", name);

页面中取得它们的值:

<s:property value="#session.operation"/>

<s:property value="#request.name"/>

4:页面中奇偶行样式不一样的控制方法:

<tr class="<s:if test='#listStat.odd == true '>tableStyle-tr1</s:if><s:else>tableStyle-tr2</s:else>" >

5:单选框和复选框的使用方法

1):可以设置默认选中值,注意list的值的设置,通过这种方式使key和value不一样,这种方法比较常用(checkboxlist or radio)

<s:radio name="uncarInsPolicy.policyStateCode"

list="#{'5':'通过' , '2':'不通过'}"

listKey="key"

listValue="value"

value='5'

/>

2):这里的key和value的值是一样的(checkboxlist or radio)

<s:checkboxlist

list="{'Red', 'Blue', 'Green'}"

name="favoriteColor"/>

6:struts2 中的标签会生成类似由<tr><td></td></tr>构成的字串(具体什么标签生成什么,可以查看生成后的页面的源代码)如果不限制这些多余代码的生成,页面将变得无法控制,所以一般我们是不希望它生成多余的代码的,具体的设置方法如果,在struts.xml中统一配置

<constant name="struts.ui.theme" value="simple"/>加上该句即可

也可以通过在页面中将tag的theme属性设为"simple"取消其默认的表格布局

不过最好是:自定义一个theme,并将其设为默认应用到整个站点,如此一来就可以得到统一的站点风格

7:jsp页面中格式化日期的方法

<s:date name="unCarInsModificationInfo.createTime" format="yyyy-MM-dd" nice="false"/>这样就可以将日期格式化为yyyy-MM-dd的形式

8:默认情况下,当请求action发生时,Struts运行时(Runtime)根据struts.xml里的Action映射集(Mapping),实例化action对应的类,并调用其execute方法。当然,我们可以通过以下两种方法改变这种默认调用

1)在classes/sturts.xml中新建Action,并指明其调用的方法

比如想调用action类中的

public String aliasAction() {

message ="自定义Action调用方法";

return SUCCESS;

}

则在classes/sturts.xml中加入下面代码:

<action name="AliasHelloWorld" class="tutorial.HelloWorld" method="aliasAction">

<result>/HelloWorld.jsp</result>

</action>

既可用action名调用该方法了

2)(比较常用)

访问Action时,在Action名后加上“!xxx”(xxx为方法名)。

9:Struts 2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。

struts.xml用于应用程序相关的配置

struts.properties用于Struts 2.0的运行时(Runtime)的配置

10:在action类中取得web下某一文件夹物理路径(绝对路径)的方法

filePath = ServletActionContext.getServletContext().getRealPath("/upLoadFiles")

11:要想返回的页面不是一个直接JSP页面而是要先通过返回action中的方法读取相应的数据再返回到jsp页面,有两种方法

1)在struts.xml中这么设置

<result name="list" type="redirect-action">sysmanage/UserBaseInfoAction!findUserBaseInfo.action</result>

2)在action中返回时直接调用这个方法即可

return findList();

12:设置checkboxlist中默认值的方法

<s:checkboxlist name="skills1"

="Skills 1"

list="{ 'Java', '.Net', 'RoR', 'PHP' }"

value="{ 'Java', '.Net' }" />

<s:checkboxlist name="skills2"

label="Skills 2"

list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }"

listKey="key"

listValue="value"

value="{ 1, 2, 3 }"/>

13:二级级连下拉框

<s:set name="foobar"

value="#{'Java': {'Spring', 'Hibernate', 'Struts 2'}, '.Net': {'Linq', ' ASP.NET 2.0'}, 'Database': {'Oracle', 'SQL Server', 'DB2', 'MySQL'}}" />

<s:doubleselect list="#foobar.keySet()"

doubleName="technology"

doubleList="#foobar[top]"

label="Technology" />