`

struts2的codebehind插件

阅读更多
codebehind plugin是一个可以简化struts2配置的插件,虽然不能实现完全意义上的codebehind,至少已经做的不错了,期待新版本:-D



使用步骤:

1.确保你的应用已经可以使用struts2

2.添加struts2-codebehind-plugin-2.0.11.2.jar包到应用中

3.struts.xml中添加配置:<constant name="struts.codebehind.pathPrefix" value="/jsp/" /> 这里的value值填写jsp页面的根路径

4.<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value></param-value><!--此时表示无Action类对应的包,多个包间“,”分隔-->
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>


然后就可以使用了,在不使用codebehind插件的时候,一般是这么写的:


<action name="userlist" class="userListAction">
<result>/jsp/userlist.jsp</result>
</action>



使用codebehind插件的话,可以这么写:


<action name="userlist" class="userAction" />



result可以省略了,当然这里有一个约定,返回页面的路径为struts.codebehind.pathPrefix + package namespace + action name + action returntype + .jsp

我这里的环境:

struts.codebehind.pathPrefix  = /jsp/

package namespace = /

action name = userlist

action returntype = 为success时,值为空,为其他时,值为"-" + return type



所以返回的页面地址就为 /jsp/userlist.jsp

如果return type为input,地址就为 /jsp/userlist-input.jsp



配合表达式的使用,可以基本实现零配置:


<action name="*" class="{1}Action" />



这样写不仅可以简化配置,而且可以达到规范文件布局的目的。如果有特殊的需要,也完全可以与手写配置文件相结合,用起来已经很方便了。
分享到:
评论

相关推荐

    STRUTS2:零配置插件CodeBehind

    通过结合使用Zero Config与CodeBehind插件,开发者可以在很大程度上减少Struts2项目中的配置负担,使代码更加简洁易读。这两个插件的出现进一步提高了Struts2框架的灵活性和易用性,使得开发过程更加高效。

    如何使用struts2的零配置插件convention

    从Struts2.1版本开始,`Codebehind`插件被`Convetion`插件取代,以提供更全面的零配置支持。`Convetion`插件通过自动扫描和推理应用程序中的类和方法来配置Action和结果映射,不需要开发者显式地在`struts.xml`或...

    Struts2权威指南完整版

    Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...

    jxl.jar;dom4j.jar;jsonplugin-0.34.jar;junit-3.8.2.jar;log4j-1.2.14.jar;struts2-codebehind-plugin-2.0

    CodeBehind插件可能是Struts2的一个扩展,它可能提供了将业务逻辑代码与视图分离的能力,增强代码的可维护性和可测试性。Struts2的核心特性包括拦截器、动作类、结果类型等,使得开发者可以更加规范和高效地构建Web...

    struts2-Convention插件使用

    自Struts2.1版本起,Convention插件被引入,旨在替代原有的Codebehind插件,实现框架内的零配置理念。这一插件的设计思想围绕着减少XML配置的依赖,通过代码结构与命名规则自动推断应用程序的行为,从而简化开发流程...

    struts2注解详解

    #### 一、Struts2 Convention 插件介绍与使用 在 Struts2 框架的发展过程中,随着版本的更新和技术的演进,其配置方式也发生了变化。从 Struts2.1 版本开始,官方不再推荐使用 Codebehind 作为零配置插件,而是转向...

    struts2的Convention插件说明书(中文版)

    Struts2的Convention插件是一种自动化配置工具,从2.1版本开始引入,旨在减少XML配置,实现Struts2应用的零配置或者最少配置。该插件通过一系列预定义的命名规则和约定,自动解析和映射Action、结果页面、拦截器等...

    简述STRUTS2_Convention零配置

    从Struts2.1版本开始,推荐使用Convention插件替代Codebehind插件,因为它更加自动化,几乎无需手动配置。 Convention插件的工作原理是基于“约定优于配置”(Convention over Configuration)的原则,它会自动识别...

    struts-2.3.8所有包

    `struts2-codebehind-plugin-2.3.8.jar`是Struts 2的一个插件,名为CodeBehind插件。这个插件允许开发者将Action类的业务逻辑代码和视图逻辑代码分离,使得代码更加模块化和易于管理。CodeBehind插件通过创建一个...

    struts2urlplugin:Struts2 插件支持 URL 中的模式匹配,用于动作映射器

    struts2url插件 Struts2 插件支持 URL 中的模式匹配以进行动作映射 Struts 2 的插件,允许开发人员控制 URL 如何映射到他们的操作: 使用正则表达式; 通过路径或命名空间将参数传递给动作; 控制允许的 HTTP ...

    Struts2注解详细说明文档

    自Struts2.1版本开始,引入了一个重要的插件——Convention Plugin,该插件通过一系列约定简化了Struts2的配置过程,使得开发者可以更加专注于业务逻辑而非繁琐的配置。 #### 二、Struts2 Convention Plugin核心...

    STRUTS2 Convention零配置

    与之前的Codebehind插件不同,Convention插件更加彻底地摆脱了对配置文件的需求,包括struts.xml以及Annotation等传统配置方式,通过约定而非配置的方式自动完成框架的配置工作。 ### Convention 插件特性详解 ###...

    struts2零配置convention-plugin

    从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...

    struts2注解使用.doc

    在Struts2的早期版本中,Codebehind插件被用来实现零配置,但自Struts2.1开始,它被Convetion插件所取代,因为Convetion插件提供了更为全面的自动化配置能力。 **Convetion插件** 是Struts2的核心组成部分之一,它...

    深入浅出Struts2(附源码)

    26.3 CodeBehind插件 319 26.4 小结 321 第27章 Ajax 322 27.1 Ajax概述 322 27.2 Dojo的事件系统 323 27.3 使用Struts Dojo插件 324 27.4 head标签 324 27.5 div标签 325 27.5.1 示例程序1 326 27.5.2 ...

    Struts2 Convention Plugin中文文档 Annotion

    Struts2 Convention Plugin 是从 Struts2.1 版本开始引入的一个插件,它的主要目标是实现 Struts2 框架的零配置。通过约定优于配置的原则,开发者可以更加专注于业务逻辑,减少大量的 XML 配置工作。以下是 ...

Global site tag (gtag.js) - Google Analytics