struts2学习笔记——03

使用paramsPrepareParamsStack拦截器站后的运行流程

  1)paramsPrepareParamsStack和defaultStack一样都是拦截器栈,而struts-default包默认使用的是defaultStack

  2)可以在struts配置文件中通过以下方式修改使用的默认拦截器栈

  <default-interceptor-ref name="paramsPrepaareParamsStack"></default-interceptor-ref>

  3)paramsPrepareParamsStack拦截器在于 : params--》modelDriven-》params

 所以先把请求的参数赋值给action对应的属性,在根据赋给action的那个属性值决定压倒之战栈顶的对象,之后再为栈顶对象的属性赋值。

对于edit操作而言:

1:先为employeeAction的employeeID赋值

2:根据employee从数据库中加载对应的对象,并放入到值站的栈顶

3:在为栈顶对象的employee赋值

4:吧栈顶对象的属性回显在表单中


关于回显:struts表单标签会从值站中获取对象的属性值进行回显。

Struts2类型转换:

http没有类型的概念,每一项表单输入只可能是字符串或字符串数组


ActionContext.getContext().getValueStack.push(object)把当前对象放入栈顶

struts2表单标签的name值可以被复位属性的属性:name=mgr.name ,name=mgr.age;

全局的类型转换器可以正常工作!

国际化的目标

1)如何配置国际化资源文件

资源文件加载的顺序如何那?离当前action较近的将被优先加载


2)如何在页面上和action中访问国际化资源文件的value值

 1.在action类中,若action实现了textProvider接口,则可以调用getText()方法获取value值

    通过继承actionSupport的方式

2.页面上可以使用s:text标签,对应表单标签可以使用表单标签的key属性值

  若有占位符,则可以使用s:text标签的s:param标签来填充占位符

 若当前页面来自于action则可以直接访问action中的属性值

可以利用标签和ognl表达式直接访问值站中的属性值对象站和map站





3)实现通过超链接切换语言。


关键在于知道struts框架是如何确定local对象



通过阅读I18N拦截器






声明时验证:















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值