---------------------- android培训 、 java培训 、期待与您交流! ----------------------
1. Action 什么时候初始化“
在第一次发出该action时, 不是在读取配置文件时
每个action只会初始化一次
2. Struts1 是线程不安全的,因为所有的请求共享个action实例
而Struts2是线程安全的
3.怎样实现Action的安全性编程?
1) 注意不要用实例变量或者类变量共享只是某个请求的数据
2) 注意资源操作的同步性
应用:
统计action的访问次数:
创建一个实例变量count,在调用时加一
4. ActionForword:
Redirect:
False,no-------------容器内跳转RequestDispatcher.forword 路径相对当前应用
True,yes------------容器外条状 HttpServletResponse.sendRedirect 绝对路径
5.Action
(1) Attribute 属性用来存取form的关键字 ,缺省值和name一样
(2)validate用于是否校验表单(校验开关) ,true表示校验(缺省值) ,false表示不校验
(3)input 如果校验不通过,则跳转到input指定的跳转模块 。一般结合validate---true使用。
6.global=forwords:全局跳转----内有多个forword
当多个action(大于一个)跳转到同一个页面时 ,可以使用全局跳转
7.Bean:define
根据已有的变量或者变量的属性定义一个新的变量
Search:from where -----scope, who------name , which property -------property
Define: the name of the variable newly created -------id , which idrequired
Save: to where -------toScope
8.Bean:write property:name(required) scope property
9.Bean:message 实现国际化
1) 需要声明一个 properties属性文件
2) 需要添加配置文件 <message-resources parameter = “包名+基名” key =”myKey“>
3) 一般在jsp页面中使用 <Bean:message bundle =”myKey” key =”属性名”>
10.Logic
Iterate:
必须的属性: Id: 是指定查找对象时的临时变量名
两种查找迭代对象方式:
1) Name 所指代的bean必须是集合类型
2) Name + property
可选属性:
Scope offset---从此下标开始迭代 indexId (i)循环控制变量----每次迭代输出i的值