Struts2PluginFeaturesUserGuide

IDEA 7 vs. IDEA 8

Some features may be available in IDEA 8 ("Diana") EAP only, please see Struts2PluginChangeNotes for more information.

Getting started

"Hello World" with Struts 2 and IntelliJ IDEA 8 - Detailed introductory blog post by Tabrez Iqbal

Symbol Status
planned
in progress
done
future planning

IDE integration

"Go To Action/Package" by name

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

Dedicated icons for configuration/JAVA (Action) files

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 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 current struts.xml-file in question to any existing fileset.

Library validator/setup
Library validator/setup for standard plugins (Spring, Tiles, JSF, ..)
Autodetection of Struts 2 facets

Existing struts.xml files are recognized upon opening your project and a new S2 facet is 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.

struts.xml/validation.xml

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

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

Highlighting of configuration/reference errors

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

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

Highlight common configuration errors or possible problems on-the-fly.

Structure View

Visually groups all relevant info with Autoscroll from/to source:

Pageflow graph (struts.xml)

Graph of all relevant S2 elements (IDEA 8 only).

validation.xml

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

Actions (JAVA)

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:

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

JSPs

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:

Autocompletion/navigation for form properties
Autocompletion/navigation for other tag attributes

Autocompletion is available for most attributes with static values.

JavaScript support

Enjoy the power of IDEA's powerful JavaScript-support within all S2 UI-tags (plugin "JavaScript Support" must be enabled).

CSS support

Define inline-styles (cssStyle) or reference existing CSS classes (cssClass) (IDEA 8: plugin "CSS Support" must be enabled).

Plugins/3rd Party Extensions

Support struts2-spring-plugin

Reference Spring beans in <action> "class" and constant "value" (plugin "Spring Support" must be enabled and Spring facet configured properly).

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

OGNL

Separate plugin.

Basic syntax highlighting support
Full support for OGNL expressions, including resolving of available properties in S2 context

Labels

 
(None)
  1. May 12

    t800t8 says:

    Hi Yann, Does "Integration with "New Project"" feature finish? I cannot find Str...

    Hi Yann,

    Does "Integration with "New Project"" feature finish? I cannot find Struts 2 option when I create a new project in both Selena #7821 (with Struts 2 Plugin v0.40) and Diana #8280 (with Struts 2 plugin v0.38).

    1. May 12

      Yann Cébron says:

      This is STRPL8

      This is STRPL-8, which will be available in Diana (IDEA 8) only, next EAP will contain this feature. Looking forward to your feedback.

      1. May 12

        t800t8 says:

        Thanks Yann. I will try it when next EAP will be released.

        Thanks Yann. I will try it when next EAP will be released.

  2. May 12

    Anonymous says:

    handytapestry

    handytapestry seems to contain an OGNL language implementation.

    1. May 12

      Yann Cébron says:

      Indeed, but it's not OSS..

      Indeed, but it's not OSS..

  3. Jun 24

    Anonymous says:

    good job

    good job

  4. Sep 05

    Anonymous says:

    A major clue to Mercury's geologic past came from the scientists' finding of vol...

    A major clue to Mercury's geologic past came from the scientists' finding of volcanic

    vents along the margins of the Caloris basin, one of the solar system's largest and

    youngest impact basins. The group zeroed in on a kidney-shaped depression that was

    surrounded by a bright ring, lending a halo-like impression to the landscape.<a

    href="http://www.kswchina.com">kswchina</a> The scientists determined that the depression

    was a volcanic vent,and the bright ring around it was pyroclastic,<a

    href="http://gongcheng.kswchina.com">energy</a> remnants of lava that had been spewed

    outward, much like a volcanic fountain on Earth. Another larger ring surrounding the vent

    and halo ring showed that another type of volcanism,<a

    href="http://gongwuyuan.kswchina.com">gongwuyuan</a> called effusion, in which molten rock

    from within the planet oozes outward and covers the surface,<a

    href="http://caikuai.kswchina.com">money</a> had occurred.<a

    href="http://waiyu.kswchina.com">foreign</a> Together these deposits create a surface

    feature shaped like a volcanic shield - a clear sign to scientists that volcanic activity

    helped form the surrounding plains.

Add Comment