`
raymond.chen
  • 浏览: 1441345 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts2插件的开发

阅读更多

一、插件类

/**
 * 使用Struts2的Plugin机制可以很容易的扩展我们的Application,
 * Struts2扩展点主要包括JavaBeans、Actions、Interceptors、Results等。
 */
public interface MyPlugin {
	public String say();
}

 

public class MyPluginImpl implements MyPlugin {
	public String say() {
		return "I say";
	}
}

 

二、打包插件类

     将插件类打包成一个独立的jar文件,在jar文件的根目录下还必须添加一个文件名为struts-plugin.xml的xml文件,该xml文件的内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    
<struts>
    <bean type="com.cjm.struts2.plugins.plugin1.MyPlugin" name="myplugin" class="com.cjm.struts2.plugins.plugin1.MyPluginImpl" />
</struts>

     将该jar文件放到web项目的lib目录下即可使用该插件了。在加载时struts2框架会搜寻根目录中存在struts-plugin.xml文件的Jar文件。

     bean属性说明:

          type属性:指明了插件的接口
          class属性:指明了实现类

          name属性指明了bean的名字

 

     ant打包脚本:

<?xml version="1.0" encoding="gb2312"?>
<project name="jar" default="jar" basedir=".">
    <target name="jar">		        
    	<jar destfile="${basedir}/myplugin_1.0.jar" basedir="${basedir}/bin"/>
    </target>
</project>

 

三、使用插件

public class HelloWorld extends ActionSupport {
	private Set<MyPlugin> plugins = new HashSet<MyPlugin>();

	public String show() throws Exception {
		for(MyPlugin plugin: plugins){
			System.out.println(plugin.say());
		}
		return SUCCESS;
	}
	
	/**
	 * 通过@Inject注解可以获得Container的引用
	 * 通过Container可以获得Plugin对象实例
	 */
	@Inject
    public void setContainer(Container container) {
		Set<String> names = container.getInstanceNames(MyPlugin.class);
		for(String s: names){
			plugins.add(container.getInstance(MyPlugin.class, s));
		}
	}
}

 

四、获取插件中的常量值

@Inject("com.cjm.struts2.plugins.constant1")
public void setConstant(String constant) {
	this.constant = constant;
}

 

 

2
0
分享到:
评论

相关推荐

    struts2 jquery 插件

    struts2的jquery插件, 可使用jquery标签库快速进行前端开发。

    netbean struts2 插件

    标题“netbean struts2 插件”指的是在NetBeans IDE中使用的Struts2插件,这个插件为开发者提供了一整套的工具和服务,以便更好地在NetBeans中开发基于Struts2的应用程序。这个插件通常包含了代码自动生成、模板创建...

    struts2插件

    Struts2插件则是为了提升开发者在使用Eclipse集成开发环境时的工作效率而设计的工具。通过集成这个插件,开发者可以快速地生成Struts2相关的代码,包括Action类、配置文件、JSP页面等,从而减少手动编写这些重复性...

    Netbeans Struts2插件

    对于Struts2框架的支持,NetBeans提供了一个专门的插件,使得在NetBeans中开发Struts2应用变得更为便捷。 **NetBeans Struts2插件的核心特性:** 1. **自动代码生成**:该插件可以自动生成Struts2的Action类、配置...

    Struts2 Netbeans插件

    Struts2 Netbeans插件是专门为开发者在NetBeans集成开发环境中使用Struts2框架提供的一款高效工具。这款插件极大地简化了Struts2框架在项目中的集成和开发过程,为Java Web开发带来了便利。 首先,Struts2是一个...

    基于java的开发源码-Struts验证码插件 JCaptcha4Struts2.zip

    基于java的开发源码-Struts验证码插件 JCaptcha4Struts2.zip 基于java的开发源码-Struts验证码插件 JCaptcha4Struts2.zip 基于java的开发源码-Struts验证码插件 JCaptcha4Struts2.zip 基于java的开发源码-Struts...

    Netbeans6_Struts2插件下载与安装

    Struts2插件的集成使得开发者可以在NetBeans中直接进行Struts2应用的开发,无需离开IDE就能完成诸如视图创建、控制器配置等操作,大大简化了开发流程。 下载Struts2插件通常有以下几种方式: 1. **通过NetBeans...

    NetBeans Struts2 插件 惟一一个支持Struts2的IDE

    对于Struts2框架的开发者来说,NetBeans Struts2插件是一个非常重要的工具,因为它使得在NetBeans中进行Struts2应用的开发变得更加便捷和高效。 Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...

    NetBeans 下struts2 的插件

    在NetBeans IDE中,使用Struts2插件可以极大地提高开发效率,使得开发者能够更加便捷地进行基于Struts2的应用程序构建。 NetBeans 7.0 和 7.01 是两个版本的IDE,它们都支持Struts2插件。这个插件的引入使得开发者...

    Netbeans下配置struts2插件

    本篇文章将详细介绍如何在NetBeans环境下配置Struts2插件,以便更好地利用该框架进行开发。 首先,我们需要理解Struts2的核心概念。Struts2框架基于Action和Result,通过DispatcherServlet进行请求分发。Action类...

    Struts2插件convention

    在Struts2家族中,"Convention"插件是一个创新性的组成部分,它的引入极大地提升了开发效率并简化了配置流程。通过约定优于配置(Convention over Configuration)的设计理念,开发者不再需要编写繁琐的XML配置文件...

    NetBeans 8.1的Struts2插件

    2. `org-netbeans-modules-web-frameworks-struts2.nbm` - 这个文件是Struts2插件的主要部分,提供IDE集成的功能,如代码提示、模板、调试支持等,使得在NetBeans中开发Struts2应用更加方便。 3. `org-netbeans-...

    NetBeans下的Struts2.0插件

    将Struts2.0与NetBeans结合,可以提升开发者的工作效率,使得开发Struts2应用更加便捷。 标题中的"NetBeans下的Struts2.0插件"指的是专门为NetBeans IDE设计的扩展,用于增强对Struts2框架的支持。通过这个插件,...

    netbean的struts2.0插件

    NetBeans的Struts2.0插件是为了帮助开发者在NetBeans平台上更高效地进行Struts2应用的开发和调试。 标题中的"NetBeans的Struts2.0插件"指的是专门为NetBeans IDE设计的一个扩展,它提供了对Struts2框架的集成支持。...

    Struts2框架 jar JAVA开发 Struts2.jar架包 Struts2开发实例

    Struts2的核心设计目标是简化MVC应用的开发,通过提供一系列的插件和拦截器,使得开发者可以方便地处理请求、响应以及业务逻辑。它集成了许多其他开源框架,如FreeMarker和Velocity模板引擎、Tiles布局框架、OGNL...

    struts2插件整合

    Struts2是一个非常流行的Java Web开发框架,它提供了一种模型-视图-控制器(MVC)架构,帮助开发者构建可维护、可扩展的Web应用。"Struts2插件整合"指的是在Struts2框架中集成不同的插件,以增强其功能和灵活性。...

    struts2开发文档

    8. ** strut2-tiles、struts2-dojo、struts2-json 等插件**: 这些插件扩展了Struts2的功能,分别用于处理Tiles布局、Dojo库集成和JSON数据交换。 通过理解并熟练掌握上述知识点,开发者可以高效地利用Struts2框架...

    struts2 的开发包

    2. **插件支持**:Struts2提供了一系列插件,如`struts2-convention-plugin.jar`,它支持自动映射Action和结果,简化配置文件。还有`struts2-dojo-plugin.jar`这样的UI组件插件,可以帮助开发者快速构建富客户端界面...

    Struts2 开发包

    7. **插件体系**:Struts2有一个丰富的插件生态系统,例如,Struts2-dojo-plugin提供AJAX支持,Struts2-convention-plugin简化配置,Struts2-json-plugin处理JSON响应,等等。这些插件可以通过添加对应的jar文件到...

    netbeans6.7用的struts2插件

    标题提及的"NetBeans 6.7用的Struts2插件"意味着在NetBeans 6.7版本中,开发者可以安装这些插件来提升Struts2框架的开发效率和便利性。 描述中提到的"有两个版本,Struts2.0和2.1",这代表了Struts2的不同迭代版本...

Global site tag (gtag.js) - Google Analytics