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

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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.*

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航