欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

NetBeans Struts2 插件更新

程序员文章站 2022-03-05 15:29:18
...

       NetBeans Struts 2 插件(http://nbstruts2support.dev.java.net)很长时间没有更新了,我对原插件进行了少量修改,并在 NetBeans 6.7 上测试通过,其中修改包括:
1.包含了最新的 Struts 2.1.6 库文件。
2.更新至最新的 web framework API。
3.重新设计了配置面板,支持更加灵活的最初配置。
4.少量针对的 Struts 2.1的代码修改。

下载:https://dl.getdropbox.com/u/201666/nbstruts2.tar.bz2

Struts 2 提供新一代的 Filter 和 Servlet 来处理请求。

NetBeans Struts2 插件更新


如果你选择使用 Struts Servlet 来处理请求,可以选择 Reuqest processed by 为 Servlet  。
这将在 web.xml 中生成相应的 Servlet 配置,Struts 2.1 添加这么一个 Servlet ,或许是吸引那些 Struts 1 的用户。

   

<servlet>
        <servlet-name>struts2servlet</servlet-name>
        <servlet-class>org.apache.struts2.dispatcher.ng.servlet.StrutsServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>struts2servlet</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping> 

  
如果你选择使用 Filter 来处理请求,当然这是 Struts 官方推荐的方式,将在 web.xml 中生成以下代码。
 

   

 <filter>
        <filter-name>struts2</filter-name>
        <filter-class>apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

  
在 Struts 2.1 中,DispactherFilter 已经标志为过时。取而代之的是StrutsPrepareAndExecuteFilter,它还有两个变体,StrutsPrepareFilter 和 StrutsExecuteFilter ,以适应与其他 Filter 同时处理请求的情况,特别是 Sitemesh Filter,StrutsPrepareFilter 会作一些清理的动作,这在配置时已经为你考虑到了。

在Plugin Support 的标签中,提供了几种常见插件的支持。
如果你选择了使用 Filter 的方式处理客户端请求,同时使用了 Sitemesh 插件。
IDE 会为生成不同的web.xml 配置。

   
    

<filter>
        <filter-name>struts2prepare</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
    </filter>
    <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    </filter>
    <filter>
        <filter-name>struts2execute</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2prepare</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2execute</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

  
同时,也会生成一份简单的 sitemesh 模板。

NetBeans Struts2 插件更新


当你选择Development Mode ,IDE 会在 Struts 2 配置文件中添加 一些 constant,以辅助调试 Struts2程序。

 

 <constant name="struts.devMode" value="true"/>
  <constant name="struts.configuration.xml.reload" value="true"/>

 当你选择 Spring 支持时,会 Struts 配置文件添加一个 constant,

 

<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>

 
它表示使用 Spring 来创建 Struts 2 对象,包括 Action , Intecepter等。
另外,IDE 为在 web.xml 添加相应的 Spring 配置。

 <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

 
并且会在 WEBINF 下添加一个空的 spring 配置文件模板。
Convention 插件是 Struts 2.1 附带的一个全新的插件,它吸收了多个插件的优点,使得Struts 2 在利用 java 5 的 Annotation 特性上迈出了可喜的一步。

当你选择使用 Convention 插件,你有一个可选的参数,可以指定 actions的 package名,这可以在运行时缩小 action 类的扫描范围。
 
对于初学者,例子可能是最有效的学习途径。如果你选择了 Create Example Application 复选框,就会创建一个例子,它源于 Struts 自带的例子。

NetBeans Struts2 插件更新


这仅仅是对 Struts 2 的小小修改,以后可以添加其它功能。比如,可视化编辑 struts.xml, 类似 jsf的 page flow功能,加强 struts 配置文件中的代码补全功能,validation 配置文件的 IDE 辅助功能等。
这可能是一个巨大的挑战,目前还不熟悉 visual library 的api。