You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "haruhiko nishi (JIRA)" <ji...@apache.org> on 2012/12/08 16:39:20 UTC
[jira] [Updated] (WW-3925) behavior of Index action found under
designated package is unclear
[ https://issues.apache.org/jira/browse/WW-3925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
haruhiko nishi updated WW-3925:
-------------------------------
Attachment: WW-3925.zip
updated for review.
http://localhost:8080/my_context/config-browser/index
will show the actions declared.
This project will still demonstrate the issue with Index not reachable when the url accessed is just
http://localhost:8080/my_context/
> behavior of Index action found under designated package is unclear
> ------------------------------------------------------------------
>
> Key: WW-3925
> URL: https://issues.apache.org/jira/browse/WW-3925
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Convention
> Affects Versions: 2.3.4
> Environment: JBoss 5.1
> Windows 7 x64
> Reporter: haruhiko nishi
> Fix For: 2.3.x
>
> Attachments: WW-3925.zip, WW-3925.zip
>
>
> We have an Action class named 'Index' immediately under com.example.common.action and is annotated @ParentPackage('default') which is declared in package directive in struts.xml and has "/" for its namespace and extends "struts-default". It also declares @Result so that it responses with jsp files corresponding the string values returned by its execute() method.
> In our struts.xml, the following struts setting is configured along with other necessary configurations that are needed for convention-plugin.
> <constant name="struts.action.extension" value=","/>
> When accessing /my_context/none_existing_path, the request apparently hits this Index class and the contents of the jsp declared in the Index's @Result section gets returned.
> However, if we provide /my_context/, we receive the following error:
> HTTP Status 404-There is no Action mapped for namespace[/] and action name [] associated with context path [/my_context].
> We want to know the reason why accessing /my_context/none_existing_path, where none_existing_path has no matching action, can fallback to Index class, but error is returned when when the URL requested is just /my_context/.
> Currently, our convention-plugin settings are declared as follows:
> <constant name="struts.convention.package.locators.basePackage" value="com.example"/>
> <constant name="struts.convention.package.locators" value="action"/>
> Strangely, if we changed the value of the struts.convention.package.locators.basePackage to
> com.example.common and narrowed the search scope of the aforementioned Index file, requesting /my_context/ displayed the content of the jsps declared in @Result section of the Index class. However, as our action classes are distributed throughout the com.example.[a-z].action packages, where [a-z] represents the large volume of directories we have in our package structure, we cannot use this trick as a workaround. We have also tried placing index.jsp at the top level of the class path, and have the index.jsp redirect to /my_context/index, which worked but not what we want. Could this be a bug?
> We appreciate your responses.
> Thank you in advance.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira