[
https://issues.apache.org/jira/browse/JSPWIKI-578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12802101#action_12802101
]
Andrew Jaquith commented on JSPWIKI-578:
----------------------------------------
Sorry, what do you mean by "name clash?" If you mean, Wiki.jsp and
@UrlBinding("/wiki/{page}"} would resolve to the same ViewActionBean event (for
example), that's going to happen whenever the URLBinding is different from the
.jsp URL. But that's not too much different from today, right? (For example,
the ShortURLConstructor essentially dual-binds Wiki.jsp?page=${page} and
/wiki/${page} to the same event.)
If we wanted just ONE URL binding, then we'd have to use UrlBindings that are
identical to the JSP (e.g., @UrlBinding("/Wiki.jsp"). It's worth testing
whether we could bind .jsp URLs to ActionBeans. Per my previous comment, I
think there were some complications when I tried it before, but I don't
remember exactly. Worth testing.
Regardless, we could use FileBasedActionResolver for this... and in fact we
SHOULD because some site operators will want to use their own URL schemes. All
FileBasedActionResolver does is externalize the UrlBindings, rather than having
them hard-coded in the class files via annotations.
On a related note, I have a crazy idea. What would you think about merging the
*Content.jsps INTO the top-level JSPs? These would be the defaults, in other
words. Admins could still put stuff in /templates/*/, and if found they would
be used.
To make this work smoothly, we could create a (new) TemplateForwardResolution
type that works exactly like ForwardResolution, EXCEPT that if a custom
template JSP exists, it is forwarded to that instead, otherwise the top-level
JSP. Example:
return new TemplateForwardResolution( "/Wiki.jsp" )
...would actually forward to /templates/mytemplate/Wiki.jsp if that file
exists. If it doesn't, it just goes to /Wiki.jsp.
What's nice about this is that we:
1) preserve the ability to call top-level JSPs directly, and have them mapped
to the correct ActionBean (with parameters bound correctly, of course)
2) simplify the JSP directory structure radically, while still allowing
customization
3) preserved the ability to add any URL binding schemes that the admin might
want (using FileBasedActionResolver)
Thoughts? (On both issues...)
> Get rid of *.action URLs.
> -------------------------
>
> Key: JSPWIKI-578
> URL: https://issues.apache.org/jira/browse/JSPWIKI-578
> Project: JSPWiki
> Issue Type: Improvement
> Components: Core & storage, Default template
> Reporter: Janne Jalkanen
> Fix For: 3.0
>
>
> We currently have two URLs for each ActionBean - both the Wiki.jsp and
> Wiki.action are available. Now, since the URLs are different, it has some
> nasty side-effects:
> * Users don't know which URL to bookmark, or they end up bookmarking both
> pages
> * Browsers don't know which pages are equal, and therefore both caching and
> page highlights work inconsistently
> * Bots will index both pages, therefore giving odd results
> Since one of the design maxims of 3.0 is that URLs should not change, we
> should figure out a way to get rid of the Stripes-induced *.action URLs.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.