Watch the screencasts to see Struts 2 support "in action":
Navigation and Autocompletion: demonstrates basic navigation and autocompletion features
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.
Many features will NOT work if this setup has not been performed properly
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.
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.
Ctrl+Shift+Alt+N (Go To -> Symbol) to quickly navigate to any Action/Package by simply entering its name (including wildcards):
Use this shortcut to quickly navigate from any web-resource used in
<result> to its
<action>-declaration and/or Action-method.
Also vice versa from Action-class to
<action>-declaration and any referenced result(s) files
Recognize Struts related files/classes at a glance throughout the IDE (Project/Packages View, Editor tabs, Autocompletion, ..):
Auto-completion is available for virtually all tags and attributes, just give it a try:
Need to refactor your S2 application? Just use the Rename refactoring (
Shift+F6) or perform Find Usages (
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 (
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.
Highlight common configuration errors or possible problems on-the-fly.
Visually groups all relevant info with Autoscroll from/to source:
Graph of all relevant S2 elements.
validation.xml-template from Action
Simply click on the action icon in the left editor bar to quickly open up the corresponding mapping(s) in
IDEA 8.1.1+: also for Groovy
Use the gutter icon 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
Autocompletion is available for most attributes with static values.
(IDEA 8+: plugin "CSS Support" must be enabled)
Define inline-styles (
cssStyle) or reference existing CSS classes (
.properties-based I18N for
<s:text> (can be disabled in S2 facet, tab "Features").
IDEA 11+ under active development, see Struts2PluginOGNLSupport
(plugin "Spring Support" must be enabled and Spring facet configured properly)
Reference Spring beans where supported (e.g. in
Sophisticated configuration properties support
Autocompletion/navigation/usage search in annotations (WIP):
(plugin "Struts 1.x" must be enabled)
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)
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)
Add all global macros (
struts.vm in struts2-core.jar) automatically.
Autocomplete all global variables.
Blog post incl. screen-shots
Provides autocompletion, navigation for JSP tags.
Blog post showing off some features