Welcome to the feature description/userguide.

NOTE Some features may be available only in yet unreleased versions, please see Struts2PluginChangeNotes for more information.

Status:
(minus) planned
(plus) in progress
(tick) done
(question) future planning

IDE integration

(tick) "Go To Action/Package" by name

Press Ctrl+Shift+Alt+N to quickly navigate to any Action/Package by simply entering its name (including wildcards):

(tick) Dedicated icons for configuration files
(plus) Dedicated icons for JAVA files (Actions)

Recognize Struts related files/classes at a glance throughout the IDE (Project/Packages View, Editor tabs, ..):

Struts 2 facet

All plugin configuration settings are bundled in a dedicated facet. Simply attach a new Struts 2 facet to any existing module, 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:

(tick) Dedicated facet with configuration options
(tick) File Set manager
(tick) Detect struts.xml files not mapped to file sets
(plus) Library validator/setup
(minus) Library validator/setup for standard plugins (Spring, Tiles, JSF, ..)
(tick) Autodetection of Struts 2 facets

Existing struts.xml files are recognized upon opening your project and a new S2 facet is created automatically.

(minus) Integration with "New Project"

struts.xml/validation.xml

(plus) Autocompletion for all possible elements

Auto-completion is available for virtually all attributes, just give it a try:

(plus) 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 (Alt+F7 or Ctrl+Alt+F7):

(plus) Navigation to referenced elements/JAVA-classes

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).

(plus) Highlighting of configuration/reference errors

Errors are highlighted immediately in the editor, additional validation is triggered for Make Project (see "Validation" tab in facet for more options).

(plus) Quickfixes
(minus) struts.xml: restrict resolving to result location depending on result-type (e.g. Velocity)
(minus) Various inspections for common configuration errors
(tick) Structure View

Visually groups all relevant info with Autoscroll from/to source you're used from IDEA:

validation.xml

(minus) Navigation to/from corresponding Action-class
(minus) Show validation.xml node(s) under corresponding Action-class (like GUI-Designer forms)
(minus) Create corresponding validation.xml-template from Action
(tick) Structure View

Actions (JAVA)

(tick) Navigation to Action-declaration in struts.xml

Simply click on the action icon in the left editor bar to quickly open up the corresponding entry(ies) in your struts.xml:

(minus) Highlight unused Actions, Quickfixes: Delete, Map in struts.xml
(minus) Autocompletion/navigation to result-declaration in struts.xml

JSPs

(plus) Navigation to Action-declaration/class

Click on the Action-class icon to quickly open the corresponding JAVA-code or Ctrl+click on the "action"-attribute to go to the struts.xml-definition:

(minus) Autocompletion/navigation for form properties
(plus) Autocompletion/navigation for all suitable Tag attributes
(tick) JavaScript support for suitable tag attributes (JavaScript plugin must be enabled)

Enjoy the power of IDEA's powerful JavaScript-support within all S2 UI-tags.

(tick) CSS support for suitable tag attributes

Define inline-styles ("cssStyle") or reference existing CSS classes ("cssClass").

OGNL

(minus) Basic syntax highlighting support
(question) Full support for OGNL expressions including resolving of available properties

Templating frameworks

(minus) Integration with Tiles 2 (via Tiles 2 plugin)
(question) Support for sitemesh.xml

Integration

(minus) Support struts2-spring-plugin