struts2重点、精华、用法总结(二):接受请求参数及页面跳转类型

本文介绍Struts2框架中如何通过实体对象和List集合接收请求参数,并详细说明了四种页面跳转方式:dispatcher、redirect、redirectAction与chain的使用场景及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接收请求参数专题

1.struts2通过属性来接收请求参数,action中定义好属性之后,需提供get、set方法。

2.详细如下:
这里写图片描述

3.总结:
个人认为常用的为:
(1)使用实体对象接受传递的值,url为:
url?实体对象名.属性1=value&实体对象名.属性2=value

(2)使用List集合接收传递的参数,url为:
url?list对象名[0].属性1&list对象名[0].属性2&list对象名[1].属性1&list对象名[1].属性2

页面跳转类型专题

1.四种常用跳转方式:
(1)dispatcher:
请求转发到jsp页面,type的默认值
实例:

<result name = "与控制器方法返回的字符串对应" type = "dispatcher">要跳转的jsp页面的路径(从根目录开始)</result>

(2)redirect:
重定向到jsp页面
实例:

<result name = "与控制器方法返回的字符串对应" type = "redirect">要跳转的jsp页面的路径(从根目录开始)</result>

(3)redirectAction:
重定向到Action
实例:

<result name = "与控制器方法返回的字符串对应" type = "redirectAction">
    <param name = "namespace">将要跳转的action所在的命明空间(此处不要忘了加 “/”)</param>
    <param name = "actionName">目地action的配置的name</param>
</result>

(4)chain:
转发到Action
实例:

<result name = "与控制器方法返回的字符串对应" type = "chain">
    <param name = "namespace">/first</param>
    <param name = "actionName">first</param>
</result>

2.跳转方式的选取:
当action操作是增删改时,使用重定向防止重复提交。当action执行查询操作时,使用转发跳转;action之间跳转建议使用redirectAction(当多个action协同完成一个功能时,可以使用chain;功能衔接时使用redirectAction)

3.全局跳转
全局跳转:抽取一个package中的重复的result,简化配置。
同一包下可以统一提取相同的result,示例如下:

<global-results>
    <result name=””>/要跳转的页面的路径</result>
</global-results>

使用注意事项:
(1)全局的result只适用于当前package
(2)出现在之前

4.带参数的转发/重定向

<result name=”” type=””>
    <param name=”location”>跳转的jsp页面路径</param>
    <param name=”参数名”>参数值</param>
</result>

相当于之前jsp的 request.sendRedirect(“/xxx.jsp?参数名=参数值”);
其他三种方式同理
注意:
参数值处可以使用&{ognl}动态获取参数值(之后会有详解)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值