传智播客——Struts(2)

真的好累! 今天继续Struts的学习

1.       struts 开发的基本原则:

1). 建议在 ActionForm 中的数据类型除了能确定的意外都设为 String, 可以对输入的值进行必要的验证.

2). 在模型层中不要使用 ActionForm 作为传递的参数.

3). 若使用 BeanUtils 进行属性复制, 注册类型转化器的工作建议在 SerlvetContextListener contextInitialized 中完成

2.    使用 BeanUtils 进行属性复制:

       1). 要求复制的这两个类必须都是 public 型的.

2). 对于除了基本数据类型和字符串之间的其他转换, 例如: String --> Date, 需要额外注册转换器

3.  HTML 标签的用途:

       1). 紧密的和 Struts 框架联系起来, 会事先做一些必要的检查:

检验配置是否正确(action 节点中的 path 表单中的 action 是否匹配); 检验 ActionForm 中的属性和表单字段是否一致.

    2). 更方便于开发: <html:form action="processorder"> 生成的 <form> action 自动使用绝对路径, 且在第一次请求时会加上 jsessionid...

    3). 若在 validate() execute() 方法中验证出错, 返回 input 指定的页面, 且该页面使用了 html 标签, 会自动的回显数据.

4.  HTML标签注意事项:<html:checkbox /> 并不是和 <input type="checkbox"> 相互对应的.而是和<html:multibox property="interesing">Reading</html:multibox>Reading 相互对应,

       第一个 Reading 将被解析成 value, 第二个将被解析成显示.

5.       Token解决重复提交:使用同步令牌(Token)机制解决

相关方法:

protected boolean isTokenValid(HttpServletRequest request)

判断存储在当前用户会话中的令牌值和请求参数中的令牌值是否匹配,匹配返回 true

protected void resetToken(HttpServletRequest request)

从当前 session 范围内删除令牌属性

protected void saveToken(HttpServletRequest request)

创建一个新的令牌,并把它保存在当前 session 范围内

6.  Validator框架需注意:使用的 ActionForm 不能再直接继承自 ActionForm,而需要继承自ValidatorForm.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值