Struts 2 facet
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.
Dedicated facet with configuration options
File Set manager
Group and manage your
struts.xml-files with an easy to use editor, providing maximum flexibility w/r to your project setup.
Detect struts.xml files not mapped to file sets
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.
Library validator/setup for standard plugins (Spring, Tiles, JSF, ..)
Autodetection of Struts 2 facets
struts.xml-files are recognized upon opening your project and a new S2 facet will be created automatically.
Integration with "New Project"
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.
"Go To Action/Package" by name
Ctrl+Shift+Alt+N (Go To -> Symbol) to quickly navigate to any Action/Package by simply entering its name (including wildcards):
"Go To -> Related File"
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
Dedicated icons for configuration/JAVA (Action) files
Recognize Struts related files/classes at a glance throughout the IDE (Project/Packages View, Editor tabs, Autocompletion, ..):
Autocompletion for all possible elements
Auto-completion is available for virtually all tags and attributes, just give it a try:
Rename refactoring/Find Usages for all referencable elements
Need to refactor your S2 application? Just use the Rename refactoring (
Shift+F6) or perform Find Usages (
Navigation to referenced elements
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 (
Highlighting of configuration/reference errors
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.
struts.xml: restrict resolving to <result> value depending on result-type (e.g. Tiles, Velocity)
Various inspections for common configuration errors
Highlight common configuration errors or possible problems on-the-fly.
Visually groups all relevant info with Autoscroll from/to source. Searching for something in the tree? Just start typing its name to find it.
Pageflow graph (struts.xml)
Graph of all relevant S2 elements.
Navigation to/from corresponding Action-class
Autocompletion/Navigation to Action-class properties in
Show validation.xml node(s) under corresponding Action-class (like GUI-Designer forms)
validation.xml-template from Action
.properties-based I18N for
<message> "key" (can be disabled in S2 facet, tab "Features").
Navigation to Action-declaration in struts.xml
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
Highlight unused Actions, Quickfixes: Delete, Map in struts.xml
Navigate to result
Use the gutter icon to directly navigate to any result(s) from your action method:
Navigation to Action-declaration/class
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/navigation for form properties
Autocompletion/navigation for other tags
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").
Currently under active development, see Struts2PluginOGNLSupport for details
Plugins/3rd Party Extensions
(plugin "Spring Support" must be enabled and Spring facet configured properly)
Reference Spring beans where supported (e.g. in
Autocompletion/navigation/usage search in annotations (WIP):
Integration with Tiles 2
(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
Support struts2-jQuery plugin
Provides autocompletion, navigation for JSP tags.
Blog post showing off some features