公司介绍 产品展示 业务支持 解决方案 文档资料
网站导航 访客留言 技术论坛
     
     
  产品资料
  业界动态
  JAVA技术


首  页 > 文档资料 > 产品资料  
 
  Struts Navigator for IntelliJ IDEA

相信在项目中使用Struts框架的一定非常多,Struts文档多,技术比较成熟,所以被很多的项目所采用。但随着项目开发的进行,你会发现信息处于爆炸状态,非常难以跟踪和维护。让我们看看以下几种情况:

  1. 打开Action或Form类,需要查看该类的配置信息,你会发现跳转到struts-config.xml文件中对应的声明非常困难:首先要找到struts-config文件,然后再根据类名定位,非常麻烦。
  2. 在struts-config.xml文件中找到了Action的声明,你会发现跳转到forward的Jsp文件也是一件非常让人头痛,无法直接打开对应的jsp文件。同样根据action元素的name属性跳转Form类也有这样的问题。
  3. 当你打开一个jsp文件时,找到了<html:form action=”/xxx.do”,这时想快速跳转到xxx.do对应的Action类,你需要打开struts-config.xml文件,依据action的路径信息找到声明,然后在已经type属性打开指定的文件,步骤繁琐。
  4. 开发Struts应用时,不少人喜欢使用XDoclet,将XDoclet标签信息添加到Java类上,这个时候如果能够理解XDoclet,依据XDoclet标签信息,快速定位到指定的文件将非常便捷。
  5. 当我们从浏览器中拷贝URL时,我们希望很快定位到指定的Action在xml中的声明,这样更加方便我们查阅Action对应的信息,同时知道Action path名称,可以快速定位到指定的Action声明,这也是非常必要的。

Struts Navigator插件就是围绕这些问题出发的,其目的是将Struts中的各个组件整合起来,提供导航能力,形成一张信息网,让你更容易掌握信息。在此插件中, struts-config.xml,Action类,Form类,Tiles和Jsp文件被很好地组织起来,方便你的导航,更容易获取你需要的信息。下面就让我们看看如何去使用这款插件,在使用前,你只需通过plugin manager下载Struts Navigator插件,然后重新启动IDEA即可。

1 打开一个Struts的项目,在设置面板中选择“Struts Navigator”,接下来就是设置该插件的配置信息。点击“Setting”标签,选择“Enable this plugin for Struts application”启动该插件,然后是Struts的配置文件,这是Struts应用的核心,如果你的项目包含Tiles支持,请设定Tiles的定义文件。

2 回到IDEA中,你可以依据以下图片的提示体验Ctrl+B给Struts 应用带来的便捷,如依据action path定位到Action class,依据jsp路径信息定位到相应的文件等等。

3 上图中的情形同样适用于Ctrl+Shift+I,按下Ctrl+Shift+I就会打开Quick Definition Lookup窗口,快速查看字符所代表的资源。

4 当我们要查看资源的定义信息时,如Action Class,Form Class, Tiles Definition,Forward等,我们只需在指定的字符串上按下Ctrl+Q,就会弹出Quick View窗口,查看xml文件中的定义信息,按下Enter键,就可以定位到XML文件中的指定的位置。

5 启动Struts应用后,我们通过浏览器进行访问,如果能够根据URL定位到相应的Action class声明,那对修改程序非常有帮助。现在你只需调用Ctrl+Shift+O,然后将URL粘贴到输入框中,然后按下Enter键即可定位到Action在xml中的声明处。在该对话框中,你也可以输入Action path名称进行定位。

总结:经常接触一些使用Struts的项目,发现做Struts应用的难处并不在如何去编写Struts的配置文件,当前你可以使用图形化工具或XDoclet自动生成配置文件,单纯手写也不是一件难的事情。但是当你项目中的文件达到上千个的化,你会发现依据Struts的配置信息定位非常困难,时时要去配置文件中查找对应的信息,然后在去定位相应的资源,非常浪费你的时间。有了Struts Navigator,你就发现信息就在你的手指下,一个键盘操作就可以获取信息,让你开发更加高效。个人经验:在实际的编码中,定位和查看资源是非常浪费时间的,花在这上面的时间可能远超过你实际编码的时间,所以能快速定位到指定的资源,将非常节约你的时间。