Struts 2 Plugin for JetBrains IntelliJ IDEA provides tight and feature-rich integration to develop Struts 2 applications. Real productivity features (including refactoring support) and understanding the structure and framework instead of many wizards that just generate some XML or code.
To get a quick overview watch these screencasts to see Struts 2 support "in action": Navigation and Autocompletion: demonstrates basic navigation and autocompletion features |
|
Symbol |
Status |
---|---|
planned |
|
in progress |
|
done |
|
future planning |
All plugin configuration settings are bundled in a dedicated facet. Simply attach a new Struts 2-facet to an existing Web-facet, create a fileset and add your struts.xml
-files from all auto-scanned configuration files in your project and the plugin is ready to work.
|
Group and manage your struts.xml
-files with an easy to use editor, providing maximum flexibility w/r to your project setup.
Spot setup errors easily, additionally providing a quickfix to add the unmapped struts.xml
-files to any existing fileset.
Creates IDEA project/module-library and - if required - downloads all necessary JAR files required for Struts 2.
Existing struts.xml
-files are recognized upon opening your project and a new S2 facet will be created automatically.
Add a blank ready-to-start Struts 2 application template by selecting Struts 2 from the list of available technologies. A S2-facet with default fileset and an empty struts.xml
-file already mapped in web.xml
will be created automatically, all necessary libraries will be setup as well.
Press Ctrl+Shift+Alt+N
(Go To -> Symbol) to quickly navigate to any Action/Package by simply entering its name (including wildcards):
Tip: just start typing to narrow down the result list of related items and press ENTER to navigate.
IDEA 10.5+
Use this shortcut to quickly navigate from any web-resource used in <result>
to its <action>
-declaration and/or Action-method.
IDEA 11+
Also vice versa from Action-class to <action>
-declaration and any referenced result(s) files.
Navigate from Action-class to all corresponding validation.xml
files.
IDEA 11+
A bundled dictionary providing Struts-specific words integrates with IDEA's builtin spellchecker.
Recognize Struts related files/classes at a glance throughout the IDE (Project/Packages View, Editor tabs, Autocompletion, ..):
Please see this screencast to see it "in action".
Auto-completion is available for virtually all tags and attributes, just give it a try:
Need to refactor your S2 application? No more manual search and replace - just use Rename refactoring (Shift+F6
) or perform Find Usages (Alt+F7
or Ctrl+Alt+F7
):
Simply Ctrl
-click (or press Ctrl+B
) on any element to navigate to its declaration - or take a peek without leaving the current editor using Quick Definition Lookup (Ctrl+Shift+I
).
Errors are highlighted immediately in the editor, additional validation is triggered for Make Project.
IDEA 7: see "Validation" tab in S2 facet for more options
IDEA 8+: see Settings->Compiler->Validation
Various quickfixes to create missing elements etc.
IDEA 10+
Completion will only show resources relevant for the given (or inherited) result type.
Highlight common configuration errors or possible problems on-the-fly - while you're editing.
Visually groups all relevant info with Autoscroll from/to source. Searching for something in the tree? Just start typing its name to find it.
IDEA 8+
Graph of all actions and results makes it easy to understand the structure of your application.
IDEA 11+
Autocompletion/Navigation to Action-class properties in <field>
"name"
"Navigate -> Related File" from Action-class to validation.xml
.
validation.xml
-template from ActionIDEA 11+
Intention to create new ActionClassName-validation.xml
from file template.
IDEA 11+
Support for .properties
-based I18N for <message>
"key" (can be disabled in S2 facet, tab "Features").
Simply click on the action icon in the left editor bar to quickly open up the corresponding mapping(s) in struts.xml
:
IDEA 8.1.1+: also for Groovy
IDEA 10.5+
Use the gutter icon (or use Navigate->Related File) to directly navigate to any result(s) from your action method:
Click on the Action-class icon to quickly open the corresponding JAVA/Groovy-class or Ctrl+click on the "action"-attribute to go to the struts.xml
-definition:
IDEA 11+
Form properties will be autocompleted/resolved in "surrounding" Action class. Ofcourse, rename refactoring and finding usages is supported here as well.
Autocompletion is available for (almost) all attributes with static values.
(plugin "JavaScript Support" must be enabled)
Enjoy the power of IDEA's powerful JavaScript-support within all S2 UI-tags.
(IDEA 8+: plugin "CSS Support" must be enabled)
Define inline-styles (cssStyle
) or reference existing CSS classes (cssClass
).
IDEA 10+
Support for .properties
-based I18N for <s:text>
(can be disabled in S2 facet, tab "Features").
IDEA 11+
Provides editing, highlighting and autocompletion support for OGNL expressions.
Currently under active development, see Struts2PluginOGNLSupport for details.
(plugin "Spring Support" must be enabled and Spring facet configured properly)
Please see this screencast to see Spring integration "in action".
Reference Spring beans where supported (e.g. in <action>
"class", <constant>
"value").
IDEA 9+
Sophisticated configuration properties support
Autocompletion/navigation/usage search in annotations (WIP):
(plugin "Struts 1.x" must be enabled)
IDEA 8.1.1+
struts2-tiles-plugin.jar
must be present as well as Tiles libraries. Configured tiles.xml
-files will be set automatically as described in http://struts.apache.org/2.x/docs/tiles-plugin.html.
(plugin "FreeMarker support" must be enabled)
IDEA 8+
All supported S2 taglibs are automatically available:
Global variables as well as properties provided from corresponding Action-class will be resolved:
(plugin "Velocity support" must be enabled)
IDEA 10.x+
Add all global macros (struts.vm
in struts2-core.jar) automatically.
Autocomplete all global variables.
Blog post incl. screen-shots
IDEA 9+
Provides autocompletion, navigation for JSP tags.
Blog post showing off some features