您的位置:首页 > 编程语言 > Java开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: