我有一个关于春天的问题。
如何在Web应用程序中添加自定义页面?如果我使用标准的Servlet,这似乎是非常基本和简单的,但我很难在Spring roo中做到这一点。 我想要的只是主页面(带有菜单等)的链接,链接到我的自定义页面。
我尝试将新的Servlet添加到应用程序,将其路径映射设置为/ custompage。但是当我访问http://localhost:8080/myapp/custompage时,它显示资源不可用。
我也无法在主页面中添加链接,我试图直接编辑menu.jspx,但它失败了。
任何人都可以告诉我这件事吗?任何帮助将不胜感激。
答案 0 :(得分:6)
首先编辑您的{project_root}/src/main/webapp/WEB-INF/spring/webmvc-config.xml
并为新页面添加新的mvc:view-controller
定义。类似的东西:
<mvc:view-controller path="/custompage" />
然后打开{project_root}/src/main/webapp/WEB-INF/views/views.xml
并添加以下定义:
<definition extends="public" name="custompage">
<put-attribute name="body" value="/WEB-INF/views/custompage.jspx"/>
</definition>
并将custompage.jspx
添加到{project_root}/src/main/webapp/WEB-INF/views/
文件夹。
然后使用{project_root}/src/main/webapp/WEB-INF/views/menu.jspx
修改menu:item
和新url="/custompage"
。
我认为它应该有用。
答案 1 :(得分:6)
最简单的方法是让Roo为你做。
使用controller class --class ~.web.CustomPageController --preferredMapping /custompage
,Roo将为您创建一切。
确保在结果控制器中只有你需要的东西,因为如果每个请求有多个映射,它将无法工作(我认为1.1.4中的默认值是一个简单的模糊映射'得到')