Struts2学习笔记
2016-01-07 21:47
483 查看
struts2 核心是拦截器
1.配置首先加入相应的jar包。
2.配置 web.xml增加以下
package
name–名字
namespace–工作空间(命名空间)
extends–继承与哪个包
abstract–加入这个属性之后这个包可以被继承
struts2为了团队开发分工更明确他加入namespace的机制还有多配置文件引入方式
约定Action包名:
要求Action必须放到action、actions、struts、struts2包中。例如:cn.itcast.action、cn.itcast.sturts、cn.itcast.action.user等等。可以使用下面常量来修改Actoin的包
struts2引用标签
<%@taglib uri=”/struts-tags” prefix=”s”%>
//1.取得servletAPI的session: ServletActionContext.getRequest().getSession()
//ActionContext=值栈的#
//2.通过ActionContext取得的session的代理map
1)引用常量:struts.custom.i18n.resources=globalMessages
2)配置globalMessages_en_US.properties 国际化资源文件
3)在页面上用标签
struts2 返回类型
dispatcher – forward view(默认的返回类型)
chain – forward Action
redirect – 重定向view
redirectAction –重定向Action
struts2 的自定义返回类型
1)创建一个java类继承ServletRedirectResult,重写doExecute方法
2)在Struts.xml声明自定义的返回类型
struts2 返回json数据
1)首先包要继承json-default
2)并且返回类型 声明为 json(struts2 默认的会把有getter方法属性转换成Json)
struts2 拦截器
1)继承AbstractInterceptor
2)重写intercept()方法 (// 拦截通过 arg0.invoke();)
3)配置struts.xml
前提:前端form表单, 请求方式post, enctype=”multipart/form-data”
struts2 上传
1)Action类要有file类型的setter getter方法
2)上传的方法只要简单的做标准io流操作
原理:struts2拦截器已经把上传的文件存到临时文件当中,然后我们方法只要做一个复制到我们的上传路径就好了。
1.配置首先加入相应的jar包。
2.配置 web.xml增加以下
<filter> <filter-name>struts2</filter-name> <filter-class> <!-- struts2的拦截控制中心 --> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <!-- struts2的拦截后缀 --> <url-pattern>*.action</url-pattern> </filter-mapping>
3.在src目录当中增加struts.xml
struts.xml配置是以package位单位的package
name–名字
namespace–工作空间(命名空间)
extends–继承与哪个包
abstract–加入这个属性之后这个包可以被继承
package底下的标签 action name--请求名 method--处理的方法名,默认execute class--哪一个类处理 result name--返回的名字默认("success" ) type--返回类型默认("dispatcher"--转发)
前端aciton可以通过 名字!方法 来调用
struts2 常量配置struts2为了团队开发分工更明确他加入namespace的机制还有多配置文件引入方式
约定Action包名:
要求Action必须放到action、actions、struts、struts2包中。例如:cn.itcast.action、cn.itcast.sturts、cn.itcast.action.user等等。可以使用下面常量来修改Actoin的包
struts2引用标签
<%@taglib uri=”/struts-tags” prefix=”s”%>
//1.取得servletAPI的session: ServletActionContext.getRequest().getSession()
//ActionContext=值栈的#
//2.通过ActionContext取得的session的代理map
//3.取得servlet API的第三种方式:实现ServletRequestAware接口,有struts2系统自动注入
i18n–国际化1)引用常量:struts.custom.i18n.resources=globalMessages
2)配置globalMessages_en_US.properties 国际化资源文件
3)在页面上用标签
struts2 返回类型
dispatcher – forward view(默认的返回类型)
chain – forward Action
redirect – 重定向view
redirectAction –重定向Action
struts2 的自定义返回类型
1)创建一个java类继承ServletRedirectResult,重写doExecute方法
2)在Struts.xml声明自定义的返回类型
struts2 返回json数据
1)首先包要继承json-default
2)并且返回类型 声明为 json(struts2 默认的会把有getter方法属性转换成Json)
struts2 拦截器
1)继承AbstractInterceptor
2)重写intercept()方法 (// 拦截通过 arg0.invoke();)
3)配置struts.xml
<!-- 声明拦截器 --> <interceptor name="myItcep" class="com.j150914.Interceptor.MyItcep" /> <!-- 自定义的拦截器栈 --> <interceptor-stack name="myItcepStack"> <interceptor-ref name="token" /> <interceptor-ref name="defaultStack" /> <!-- 默认拦截器栈 --> <interceptor-ref name="myItcep" /> </interceptor-stack>
前提:前端form表单, 请求方式post, enctype=”multipart/form-data”
struts2 上传
1)Action类要有file类型的setter getter方法
2)上传的方法只要简单的做标准io流操作
原理:struts2拦截器已经把上传的文件存到临时文件当中,然后我们方法只要做一个复制到我们的上传路径就好了。
相关文章推荐
- Struts - 标签库
- struts1.0于struts2.0的比较
- Struts2中关于namespace的学习心得
- Struts2----自定义action的学习心得
- HTTP Status 404 - There is no Action mapped for namespace [/] and action name [login!welcome] associ
- struts2
- struts 学习笔记
- struts2.0拦截器(实现未登录的用户不能访问系统的页面)(转)
- Struts2+jQuery+JSON实现异步交互
- 软件开发疑惑解答
- ajax ssh 整合
- struts2登陆拦截器
- struts2框架原理
- web.xml
- web.xml
- struts2框架原理
- struts2登陆拦截器
- liferay中配置Struts2
- strust2--异常
- Struts2部署后抛出404 Tomcat work目录下均为空目录