分享知识-快乐自己:Struts2(动态方法、动态结果、通配符、方法内部跳转、action跳转、OGNL 的使用及注意事项)

 

这里主要以案例演示:涵盖以下知识点

1、动态方法调用:使用关键 符号 ! 进行操作   例如:/命名空间 ! 方法名

2、动态结果集:就是说,通过后台返回的结果 ${} 获取,重定向到符合预期的页面。

3、万能通配符:*_*  :第一个 * 为 类名、第二个 * 为方法名;{1}是第一个 *

4、内部方法的调用:就是说 Action 类中的 A()  调用 B()  A方法返回B()的结果集

5、跳转Action:就是说访问一个方法,根据返回的结果匹配 result中的 name 值 跳入下一个action (result type=chain)

 6、OGNL:(不过多讲述相关概念,这里以代码为核心)

值栈的内部结构分为两部分:

  第一部分:root,结构是 list 集合一般操作的都是 root 里面的数据

  第二部分:context,结构为 Map 集合

使用经历:

root 单列集合下的 前台获取的时候不需要写 #

context 双列集合  前台获取的时候需要写 #

1、往 单列集合中推送 集合类型的数据时,不能触碰到集合的引用名称。

将泛型集合推送到值栈中:

 

使用 <s:debug/> 标签查看 值栈的信息:

2、值栈的访问顺序为 从上往下 寻址。如有同名的属性名,则寻址离值栈顶端最近的

核心代码截取:推送到root 也就是单列集合下

使用 <s:debug/> 标签查看 值栈的信息:

3、在我们实现 Action 接口 或 继承ActionSupport 的类中的成员属性都是放在 root 单列集合下的

4、往值栈 context 推送 key那一列会有我们指定的引用名称(需要获取的时候需要 #)

 

 以上为可能会遇到的问题。

完整Demo展示:

 点我下载案例Demo:

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信