1.Struts2.0开发
1)搭建环境
1.导入jar包
2.导入配置文件src目录下面 struts.xml
1).在apps的blank项目中copy
2).在核心jar包中找到 struts-2-1-7.dtd
2)开发
1.在web.xml文件中配置单控制器
<filter>
...
</filter>
<filter-mapping>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.Action的开发 【Struts2.0框架默认调用Action当中的execute方法】
1)implements Action接口
2)普通的java类
3)extends ActionSupport[提倡]
Action中如何获取用户在页面中提交的数据
1) 在Action中提供和jsp一致的属性,提供getter和setter方法
2) 在Action中使用对象进行封装【推荐】
Struts2.0如何将数据加入jsp内置对象
1.通过ActionContext
1) ActionContext.getContext().put(key,value); request
2) ActionContext.getContext().getSession().put(key,value); session
3) ActionContext.getContext().getApplication().put(key,value); application
2.implements SevletRequestAware
public HttpServletRequest setServletRequest(HttpServletRequest request){
.....
}
3.struts.xml的生明
<package name="命名" namespace="/" extends="struts-default">
<!--Struts2.0默认请求 *.action 或者 *-->
<action name="请求" class="xxxx">
<!--默认跳转为转发
type=dispatcher|redirect
-->
<result name="action的返回值">跳转路径</result>
</action>
</package>
<result name="action的返回值" type="dispatcher">/jsp</result>
<result name="action的返回值" type="redirect">/jsp</result>
<result name="action的返回值" type="chain">actionName</result>
aAction 转发到 bAction
<result name="action的返回值" type="redirectAction">actionName</result>
aAction 重定向 bAction
2.Struts2.0框架默认将数据存入值栈【ValueStack】
ValueStack用来存储请求和处理数据。【request,Session,applicaiton,action】
ValueStack的结构
root区(栈结构):存储请求对应的Acion对象
context区(Map结构):存储request,session,application,action,paramters等信息
3.Struts2.O的标签
<%@taglib uri="/struts-tags" prefix="s"%>
<s:debug></s:debug><!--查看值栈当中的对象-->
4.Ognl 对象图导航语言【webWork框架中的表达式语言】
使用Ognl访问ValueStack中的数据
5.使用Ognl访问值栈中的数据
1.访问root区 直接写属性名
<s:property value="id"/>
2.访问context区中的数据
使用#开头,如果访问session中的user对象[request,application]
#session.user
6.Struts2.0标签
set标签:获取root内部的数据,并将该数据存入到指定的内置对象当中,解决了复杂结构的访问
scope:request|session|application|action(context区中的Action对象,访问时 #xxx)
push标签:把栈(root区)中的数据放入到root区中,标签结束对象消失
<s:push value="emps[0]">【emps-->emp-->address-->街道-->门牌号】
<s:property value="name"/>
<s:property value="salary"/>
</s:push>
bean:在JSP页面中创建对象,创建的对象放入Context区域
<s:bean name="类的全路径" var="引用">
<s:param name="属性">值</s:param>
</s:bean>
7.Struts2.0的迭代标签
iterator标签:迭代集合,类似于forEach标签,将迭代出来的数据存入到Context区域中
status:index 下标 count:计数 first last even:偶数 odd:奇数
<s:iterator var="引用" value="迭代的对象" status="当前迭代的状态">
</s:iterator>
8.集合的过滤
集合对象.{?#this.属性==值}
?:返回满足所有条件的元素
^:返回满足过滤条件的第一个元素
$:返回满足过滤条件的最后一个元素
include标签:包含
<s:include value="jsp页面"/>
url标签:创建一个Url标签
<s:url value="/Ajob/请求" />
<a href="xxx"/>
当前url :http://localhost:8080/appNames/xxx
跳转到:http://localhost:8080/appNames/Ajob/login
action标签:在加载JSP页面时触发Action请求
<s:action name="请求" namespace="名空间" id="标识" executeResult="true">
</s:action>
executeResult:是否将Action运行的结果显示在该页面。默认值为false
ignoreContextParams:该页面的请求参数是否转入到调用的Action当,默认为false
Struts2.0表单标签
Struts2.0提交多个对象
1.自定义类型转换器
2.国际化
3.数据格式校验
4.拦截器
发表评论
-
struts2day06 自定义结果
2012-07-16 12:14 641类implements Result接口 或者 extends ... -
struts2day06 Struts2.0的result
2012-07-16 12:01 857Struts2.0的result Action ... -
struts2day06学习笔记
2012-07-16 10:55 8271.new String(xxx.getBytes(),&qu ... -
struts2day05异常处理
2012-07-13 23:13 797Struts2.0的异常处理机制 1.什么是异常?软件在 ... -
Struts2day05学习笔记
2012-07-13 22:19 6351.自定义拦截器 1.im ... -
Struts2day04Struts2.0文件的下载
2012-07-13 08:26 6421.写一个Action,在DownloadAction ext ... -
Struts2day04Struts2.0文件的上传
2012-07-13 08:20 6221、在服务器端提供一个文件夹存放提交的文件,upload文件夹 ... -
Struts2day04Struts2.0实现阻止表单重复提交
2012-07-12 21:01 5831.使用叫做token的拦截器,在表单中加入<s:tok ... -
Struts2day04对Action的方法进行过滤拦截
2012-07-12 20:38 17461.写一个Action类 UserManagerAction ... -
Struts2day04判断用户是否登录
2012-07-12 19:37 8281.在拦截器中获得用户登录的session 在LoginC ... -
Struts2day04测试程序的执行效率,拦截器栈,在Action中覆盖拦截器的属性值
2012-07-12 18:58 11511.在LoginAction.java中,extends Ac ... -
Struts2学习笔记day04
2012-07-12 00:31 5951.自定义类型转换 1.写一个类 extends S ... -
Struts2day03Struts2.0提供的数据格式校验
2012-07-11 21:52 688Struts2.0提供的数据格式校验 js校验:存在被 ... -
Struts2day03Struts2.0国际化
2012-07-11 21:09 720Struts2.0国际化 B/S结构中为网页提供多国 ... -
Struts2day03OGNL自定义类型转换
2012-07-11 20:47 759Struts2.0框架不能够或者不能完整的进行自动类型转换 ... -
Struts2学习笔记day03
2012-07-11 19:09 9191.值栈:ValueStack,存储数 ... -
Struts2day02多个对象提交
2012-07-10 07:15 1154在listUser.jsp页面 <%@ page la ... -
Struts2day02表单标签
2012-07-10 07:15 6411.在struts2Form.jsp中 <%@ ... -
struts2day02访问ValueStack中的数据以及访问Context中的对象
2012-07-10 07:14 10231.在show.jsp页面 <%@ page lang ... -
Struts2day02动态方法调用
2012-07-10 07:14 6241.在opt.jsp页面 <%@ page langu ...
相关推荐
struts2学习笔记总结
struts2学习笔记,非本人所写,但有学习的价值,总结的很好,分享一个!
Struts2学习笔记,介绍了struts2的基础部分
这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用
struts2学习笔记struts2学习笔记struts2学习笔记
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
本人学习struts2的笔记,希望大家可以多多学习以后共同交流
学习Struts2第三天笔记
学习Struts2第四天笔记
1. struts2框架的引入 1)把struts2的相关jar包导入到项目中去 2)把struts2框架的配置文件struts.xml复制粘贴到项目中的src下面(同时也可以把log4j.properties放到src下) 在这里我们主要是要的这个struts.xml文件...
structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的
namespace :对应与项目名称后面的"/"(例如Struts2_0100_Introduction后面的"/") (http://localhost:8080/Struts2_0100_Introduction/) 四、 标签 是用来解决重名的问题,例如当系统的前台和后台都有一个action...
学习Struts2第二天笔记
struts2四天的学习笔记。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
个人收藏,纯属备份作用,做个记录,方便需要时候查看