学习Struts(4)-Struts控制器组件

本文介绍了Struts的控制器组件,其主要完成接受请求、调用模型组件、获取结果、选择视图等任务,RequestProcessor完成更多流程控制。还阐述了Action类是请求与业务逻辑的桥梁,介绍了内置的DispatchAction类和LookupDispatchAction类,最后提及利用Token解决重复提交。
部署运行你感兴趣的模型镜像

Struts的控制器组件主要完成的任务:

1.   接受用户请求

2.   根据用户请求,调用合适的模型组件来执行相应的业务逻辑。

3.   获取业务逻辑执行结果。

4.   根据当前状态以及业务逻辑执行结果,选择合适的视图组件返回给用户。

注:从上面流程可以看出,前面所说的控制组件应注重于流程的控制,将具体的业务逻辑分配给相应的模型组件来完成。对于控制器组件中(ActionServletRequestProcessorAction),RequestProcessor完成了更多的流程控制工作。ActionServlet中调用的process方法的具体逻辑也是存在于RequestProcessor组件中。还有一点值得注意的是对于每一个应用来说,只能有一个ActionServlet而可以有多个独立的RequestProcessor对应于每个子应用。

 

Action类:

Action类是用户请求和业务逻辑之间的桥梁。每个Action充当客户的一项业务代理。

 

使用内置的Struts Action类:

1.   org.apache.struts.actions.DispatchAction类:

通常,在一个Action类中只能完成一种业务操作,如果希望在同一个Action类中完成一组相关的业务操作,可以使用DispatchAction类。例如,与购物车相关的业务操作包括:查看购物车、添加商品、修改商品及数量等。

在配置DispatchAction类时,需要把parameter属性设置为“method”。

当用户请求访问DispatchAction时,应该提供method请求参数,例如:

http://localhost:8080/netstore/action/cart?method=addItem&id=2

 

2.   org.apache.struts.actions.LookupDispatchAction类:

通常LookupDispatchAction主要应用于在一个表单中有多个提交按钮,而这些按钮又有一个共同的名字的场合,这些按钮的名字和具体的ActionMappingparameter属性相对应。

配置LookupDispatchAction时,应该在<action>元素中,把parameter属性设置为“action”,使它和<html:submit>标签的property属性相一致。

 

利用Token解决重复提交

实用类:org.apache.struts.util.*

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值