Spring support is incomplete: Page mapping and auto mapping works not as
expected
---------------------------------------------------------------------------------
Key: CLK-622
URL: https://issues.apache.org/jira/browse/CLK-622
Project: Click
Issue Type: Bug
Reporter: Andrey Rybin
Fix For: 2.1.0, 2.1.0 RC1
Example:
webroot:
/my-page.htm or /MyPage.htm, etc
click.xml
<pages package="some.path" autobinding="annotation" />
spring.xml
<bean id="myPage" class="other.package.CoolPage" name="MyPage,
some.path.MyPage, please.be.happy" />
This should work, generally speaking.
Because Click actually has all parts it needs: htm and code.
But, It doesn't work!
XmlConfigService knows nothing about Spring, so it want some.path.MyPage.class!
If we put this fake "public class MyPage extends Page {}" in "some.path"
package - it will work as expected.
Click will map MyPage.htm to some.pathMyPage.class , then it will load myPage
or some.pathMyPage bean and "other.package.CoolPage" class will be used!
Actually I can write Spring bean in scripting language and not to have classes
at all!
My suggestion: SpringClickServlet should try not only class name received from
ConfigService, but also htm-to-correct bean-name (myPage) and
webpath-to-correct bean-name (for page /foo_a/bar/my-page.htm it can be
fooA_bar_MyPage -- note _ vs . because . can't be used in bean id).
PS: because . can't be used in Spring bean (any XML tag?) id,
may be you should change class-to-bean name conversion in SpringClickServlet
too.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.