1.动态结果
动态结果是指配置结果时,指定实际视图资源时使用了表达式语法,通过语法可以允许Action处理完用户请求后,动态转入实际的视图.
如下配置片断
<action name="crud_*" class="lee.CrudAction" method="{1}">
<result name="input">/input.jps</result>
<result>{1}.jsp</result>
</action>
2.请求参数决定结果
使用${属性名}的方式指定视图资源的方式,叫作请求参数决定结果
如果配置片断
<action name="myAction" class="hwp.myAction">
<result name="success">${target}.jsp</result>
</action>
Action之中必须包含target属性
3.属性驱动
属性驱动是指用Action的属性来封装来回请求的参数.
4.模型驱动
模型驱动是指使用JavaBean来封装来回请求的参数.
这只是个人的理解.建议使用模型驱动,因为相比struts 1的Action类,struts 2的Action类承担了太多的责任:既用于封装来回请求的参数,也保护了控制逻辑,这使它的结构不够清晰.这就是模型驱动的优势.
5.怎样实现模型驱动
实现ModelDriven<JavaBean>接口.并实现接口需要实现的getModel()方法.
分享到:
相关推荐
5. **模型驱动(ModelDriven)**:Struts2提供了一种模型驱动的方式,将Action与业务模型对象绑定,简化了数据处理。 6. **值栈(Value Stack)**:值栈是Struts2用来存储Action和表单属性的地方。它使得视图层可以...
本案例“Struts2之模型驱动及分层架构初识”将深入探讨Struts2中的模型驱动模式和分层架构的概念及其应用。通过实践案例struts004,我们可以更直观地理解这些关键概念。 首先,让我们来了解**模型驱动**。在Struts2...
2. **模型驱动**:使用一个公共对象作为模型,Action类持有这个模型的引用,Struts2将请求参数填充到模型对象中,这种方式更便于数据管理和共享。 此外,Struts2还支持动态方法调用、国际化、主题和模板、AJAX集成...
5. **模型驱动**:除了Action类,Struts2还支持模型驱动模式,即直接将用户的输入数据绑定到一个模型对象上,而不是Action类。这样可以使Action类更加专注于业务逻辑,而模型对象则负责数据处理。 6. **Interceptor...
每个Action对应一个业务逻辑,当用户发起请求时,Struts2会根据配置文件(如struts.xml)来决定哪个Action应该处理该请求。Action执行完毕后,会返回一个结果,这个结果可以是一个JSP页面、一个静态HTML或一个视图...
模型驱动模式是Struts2的一种设计模式,它将Action实例作为模型,自动将请求参数绑定到Action的属性上。这简化了Action类的编写,减少了手动设置属性的代码,同时提高了代码的可复用性和可维护性。 五、数据校验 ...
Struts2则直接将Action属性作为输入属性,简化了输入处理,同时支持富对象类型作为输入/输出对象,增强了模型驱动特性。 表达式语言方面,Struts1集成JSTL EL,但其对集合和索引属性的支持较弱。Struts2引入了更...
开发者可以通过OGNL在JSP页面上动态访问Action中的属性,或者在Action中设置模型数据。 “Struts2.3.1.2_API.chm”文档包含了Struts2框架的详细API,其中涵盖了各个主要类和接口的解释、方法签名、参数说明以及...
5. **模型驱动(ModelDriven)**:这是一种简化Action类设计的方式,允许Action类仅关注业务逻辑,而将模型对象的管理交给框架。 6. **值栈(Value Stack)**:值栈是Struts2中的一个核心组件,它存储了请求中的...
3. **Action**:Action类是实际执行业务逻辑的地方,它接收来自ActionForm的数据,处理后调用模型层的方法,最后根据业务结果决定跳转到哪个JSP页面。 4. **Tiles插件**:Struts 1.2集成了Tiles框架,使得布局和...
相反,Struts2会自动将请求参数绑定到一个由`ModelDriven`接口实现的属性上,这个属性通常称为模型对象。这样,开发者可以专注于业务逻辑,而不必关心数据如何从请求中获取。例如,你可能有一个User类作为模型对象,...
属性转换器就是用于处理这种类型不匹配问题的,它会自动将请求参数转化为模型对象所需的类型。默认情况下,Struts2提供了一些内置的转换器,如IntegerConverter、DoubleConverter和DateConverter等,用于处理基本...
开发者可以通过OGNL表达式在JSP页面上直接访问Action的属性,或者在Action中获取请求参数。 6. **插件体系**:Struts2拥有丰富的插件库,如Tiles插件支持页面布局,Freemarker或Velocity插件提供模板引擎,JSON插件...
5. **Action与模型驱动**:如果Action使用模型驱动模式,那么JSON插件可以直接将Action的Model对象转换为JSON,无需手动设置每个属性。 6. **类型转换**:Struts2的类型转换器在处理JSON请求时起着关键作用,将JSON...
2. **配置与动态方法调用**: Struts2支持XML配置和注解配置,XML配置在struts.xml文件中,用于定义Action、结果类型、拦截器栈等。此外,Struts2支持动态方法调用,即根据请求参数直接调用Action类的方法,增强了...
模型驱动模式下,Action可以直接持有业务对象,简化了数据绑定。 防止表单重复提交是Web开发中的常见问题,Struts2通过令牌机制来解决这个问题,避免了同一操作被多次执行。 项目练习部分涉及到使用Ajax实现异步...
Struts2提供了一种模型驱动的开发方式,通过Action类处理用户请求,并通过配置文件定义这些Action与视图(JSP页面)之间的映射。它还引入了拦截器(Interceptor)的概念,允许在Action执行前后插入自定义逻辑,如...
- 可以通过`ActionContext`获取请求参数,或者设置模型驱动的数据。 5. **值栈(Value Stack)** - Struts2的核心概念之一,用于存放Action对象和其他数据,方便视图层获取。 - Action可以直接将属性放入值栈,...