struts2中的struts.xml配置 总结
2011-12-26 19:03
441 查看
配置格式:
struts>{constant,include,{package>action>result}}
如
<constant name="struts.objectFactory.spring.autoWire" value="name" />
<constant name="struts.objectFactory" value="spring" />
<include file="example.xml">
<package name="default" extends="struts-default" namespace="/user">
<action name="Login" class="com.sidi.test.LoginAction" method="login">
<result name="success" type="dispatcher">/result.jsp</result>
</action>
</package>
如何定义全局result
<global-results>
<result name="error">/404.jsp</result>
</global-results>
如何重定向redirect
<result type="redirectAction">Action2</result> 重定向到Action
<result type="redirect">/menu.jsp</result> 重定向到页面
如何映射.do?
<constant name="struts.action.extension" value="action,do" ></constant>
如何自动修改生效不用重新启动
<constant name="struts.configuration.xml.reload" value="true" />
----------------------------------
动态方法调用是指表单元素的action并不是直接等于某个Action的名字,而是以如下形式来指定Form的action属性:
<!-- action属性为actionName!methodName的形式 -->
action="ActionName!methodName.action"
对于使用动态方法调用的方法,例如regist方法,该方法的方法声明与系统默认的execute方法的方法声明,只有方法名不同,其他方法参数,返回值类型都应该绝对相同。
注意:使用动态方法调用必须设置Struts2允许动态方法调用。开启系统的动态方法调用是通过设置struts.enable.DynamicMethodInvocation常量完成的,设置该常量的值为true,将开启动态方法调用;否则将关闭关闭动态方法调用。
struts.enable.DynamicMethodInvocation=true //设置为启用
如何映射通配符
<action name="*User" class="com.sidi.test.ActionMethod" method="${1}" >
<result>/result.jsp</result>
</action>
运行的时候会把${1}的内容自动替换成URL中的*所对应的部分如:editUser.action-->调用Action类的edit()方法
<action name="*">
<result>/notice.html</result>
</action>
登录时如果要访问session或者要直接取参数怎么办
方式1:使用ActonContext(xwork内置对象),推荐使用
ActonContext.getContext()
ctx.getParameters() > Map < Strign key,String[] values>
ctx.getSession() > Map
方式2:使用ServletActioinContext(Struts2提供)访问Servlet相关的API
getRequest()
getSession()
继承自ActionContext
如何定义全局错误信息
在Struts.xml里面加上如下
<struts>
<constant name="struts.custom.i18n.resources" value="message"></constant>
<package。。。
[注意:]struts.xml里面可以包含另外的配置文件,这个在大型项目里面是非常重要的.
这儿的<constant name="struts.custom.i18n.resources" value="message"></constant>表示替换,将struts的错误信息资源文件替换成你自己的属性文件,然后需要新建一个message.properties文件,写下面的信息
xwork.default.invalid.fieldvalue={0} error
然后再重新启动服务器
native2ascii ApplicationResources_cn.txt ApplicationResources.properties
struts>{constant,include,{package>action>result}}
如
<constant name="struts.objectFactory.spring.autoWire" value="name" />
<constant name="struts.objectFactory" value="spring" />
<include file="example.xml">
<package name="default" extends="struts-default" namespace="/user">
<action name="Login" class="com.sidi.test.LoginAction" method="login">
<result name="success" type="dispatcher">/result.jsp</result>
</action>
</package>
如何定义全局result
<global-results>
<result name="error">/404.jsp</result>
</global-results>
如何重定向redirect
<result type="redirectAction">Action2</result> 重定向到Action
<result type="redirect">/menu.jsp</result> 重定向到页面
如何映射.do?
<constant name="struts.action.extension" value="action,do" ></constant>
如何自动修改生效不用重新启动
<constant name="struts.configuration.xml.reload" value="true" />
----------------------------------
动态方法调用是指表单元素的action并不是直接等于某个Action的名字,而是以如下形式来指定Form的action属性:
<!-- action属性为actionName!methodName的形式 -->
action="ActionName!methodName.action"
对于使用动态方法调用的方法,例如regist方法,该方法的方法声明与系统默认的execute方法的方法声明,只有方法名不同,其他方法参数,返回值类型都应该绝对相同。
注意:使用动态方法调用必须设置Struts2允许动态方法调用。开启系统的动态方法调用是通过设置struts.enable.DynamicMethodInvocation常量完成的,设置该常量的值为true,将开启动态方法调用;否则将关闭关闭动态方法调用。
struts.enable.DynamicMethodInvocation=true //设置为启用
如何映射通配符
<action name="*User" class="com.sidi.test.ActionMethod" method="${1}" >
<result>/result.jsp</result>
</action>
运行的时候会把${1}的内容自动替换成URL中的*所对应的部分如:editUser.action-->调用Action类的edit()方法
<action name="*">
<result>/notice.html</result>
</action>
登录时如果要访问session或者要直接取参数怎么办
方式1:使用ActonContext(xwork内置对象),推荐使用
ActonContext.getContext()
ctx.getParameters() > Map < Strign key,String[] values>
ctx.getSession() > Map
方式2:使用ServletActioinContext(Struts2提供)访问Servlet相关的API
getRequest()
getSession()
继承自ActionContext
如何定义全局错误信息
在Struts.xml里面加上如下
<struts>
<constant name="struts.custom.i18n.resources" value="message"></constant>
<package。。。
[注意:]struts.xml里面可以包含另外的配置文件,这个在大型项目里面是非常重要的.
这儿的<constant name="struts.custom.i18n.resources" value="message"></constant>表示替换,将struts的错误信息资源文件替换成你自己的属性文件,然后需要新建一个message.properties文件,写下面的信息
xwork.default.invalid.fieldvalue={0} error
然后再重新启动服务器
native2ascii ApplicationResources_cn.txt ApplicationResources.properties
相关文章推荐
- Struts2学习总结(四):struts.xml的配置
- 【转载】Struts2学习总结----struts.xml 配置
- Struts2之我见系列总结----struts.xml骨架配置(2012.12.03)
- Struts2 -- struts.xml配置总结
- struts2——(5)(①struts常量②struts.xml配置文件分解配置)
- Struts2的配置文件的配置struts.xml
- Struts2-action在struts.xml中的配置
- struts2学习笔记--struts.xml配置文件详解
- struts2 struts.xml常用常量配置
- 关于struts2在struts.xml配置文件遇到的问题
- Struts2_05_struts.xml配置
- Struts2更改配置文件struts.xml默认路径
- Struts2教程3:struts.xml常用配置解析
- Struts2 的 struts.xml 配置中 namespace 的使用
- struts2的struts.xml struts.properties配置文件
- Struts2中struts.xml的Action配置详解(一)===》 struts2.0中struts.xml配置文件详解 (二)==》Struts2_struts.xml配置及例程三
- struts2配置详解(struts.xml配置详解)
- struts2学习笔记--struts.xml配置文件详解
- Struts2 在Struts.xml配置包 package
- 深入详解Struts2——struts.xml配置之Result配置详解