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

类别:Java 点击:0 评论:0 推荐:

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

1.   接受用户请求

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

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

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

注:从上面流程可以看出,前面所说的控制组件应注重于流程的控制,将具体的业务逻辑分配给相应的模型组件来完成。对于控制器组件中(ActionServlet、RequestProcessor、Action),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主要应用于在一个表单中有多个提交按钮,而这些按钮又有一个共同的名字的场合,这些按钮的名字和具体的ActionMapping的parameter属性相对应。

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

 

利用Token解决重复提交

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

本文地址:http://com.8s8s.com/it/it14152.htm