在 Spring 3 中使用框架集
我是 Spring 3 的新手,正在自学。我遇到了有关框架集的问题。
在我的页面中,我包含了 3 个框架集,如下所示
<
frame src="/WEB-INF/views/frame3.jsp" name="frame3" >
现在,当我运行框架集页面时,它会抛出资源未找到异常,我不明白为什么。
我是否必须为控制器中的每个frame*.jsp 页面定义映射?任何示例将不胜感激
提前致谢: 维韦克
I am a newbie to Spring 3 , and am learning on my own. I have run into a issue regarding framesets.
In my page , I have included 3 framesets , something like this
<frameset rows="10">
<frame src="/WEB-INF/views/frame1.jsp" name="frame1"scrolling="no">
<frameset cols="20%,*">
<frame src="/WEB-INF/views/frame2.jsp" name="frame2">
<frame src="/WEB-INF/views/frame3.jsp" name="frame3">
</frameset>
</frameset>
Now when I run the frameset page it throws a resource not found exception , I do not get why.
Is it that I have to define the mapping for each of the frame*.jsp pages in the Controller. Any examples would be appreciated
Thanks in advance :
Vivek
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
通常浏览器本身不应该能够访问位于 WEB-INF 下的文件(这是一个应用程序容器的东西)。您需要将它们映射到可公开访问的内容;视图、不在 WEB-INF 下的 JSP 等。
Normally the browser itself should not be able to access files located under WEB-INF (this is an app-container thing). You'd need to map them to something publicly-accessible; a view, a JSP not under WEB-INF, etc.
用户无法访问
WEB-INF
目录中的所有页面,因此如果这是一个简单的 JSP 页面,请将其移至公共文件夹(并检查是否可以通过浏览器访问)。All pages inside
WEB-INF
directory not accessed to user, so if this is a simple JSP pages, move it to public folder (and check that it accessable via browser).框架源需要实际的映射或公开可用的文件。您会注意到,如果您尝试在浏览器中访问该资源,您将收到 404 错误。
A frame source would require an actual mapping or a publicly available file. You will notice that you will get a 404 if you try to hit that resource in a browser.
不要将框架集直接链接到 jsp 作为 src,而是将其指向服务器端操作。让动作处理程序(例如 servlet 或 spring 控制器)转发到 web-inf 中存在的 jsp。
Instead of framesets directly having link to jsp as src, point it to a server side action. Let the action handler (for ex. servlet or spring controller) do a forward to your jsp present inside web-inf.
我有同样的问题,没有链接到框架集中的一帧中的jsp页面。请注意,每一帧都是一个新的 http 请求。流程是 web.xml ---> servletname-servlet.xml -->控制器-->查看解析器。
将类似的东西放入您的框架集框架frame src =“frame_b”中
将其与控制器链接
@RequestMapping(值 = "/frame_b", 方法 = RequestMethod.GET)
公共 ModelAndView goFrameb(ModelMap 模型) {
返回新的 ModelAndView("frame_b");
}
视图解析器可以映射到您的jsp页面,例如frame_b.jsp
**** jsp 存在于 web-inf/jsp/*.jsp 中
I had the same problem of not being linked to the jsp page in one frames in the frameset. Note that each frame is a new http request. the flow is web.xml ---> servletname-servlet.xml --> controller --> view resolver.
put some thing like this in your frameset frame frame src="frame_b"
link it with controller
@RequestMapping(value = "/frame_b", method = RequestMethod.GET)
public ModelAndView goFrameb(ModelMap model) {
return new ModelAndView("frame_b");
}
view resolver can map to your jsp page like frame_b.jsp
**** jsp is present in web-inf/jsp/*.jsp
我有同样的问题,没有链接到框架集中的一帧中的jsp页面。
请注意,每一帧都是一个新的 http 请求。流程是 web.xml ---> servletname-servlet.xml -->控制器-->查看解析器。
将类似这样的东西放入您的框架集框架中
框架的 src 具有 src="frame_b"
将其与控制器链接
@RequestMapping(value = "/frame_b", method = RequestMethod.GET) public ModelAndView goFrameb(ModelMap model) { return new ModelAndView("frame_b"); } }
视图解析器可以映射到您的jsp页面,例如frame_b.jsp
**** jsp存在于web-inf/jsp/*.jsp中
I had the same problem of not being linked to the jsp page in one frames in the frameset.
Note that each frame is a new http request. the flow is web.xml ---> servletname-servlet.xml --> controller --> view resolver.
put some thing like this in your frameset frame
src of frame has src="frame_b"
link it with controller
@RequestMapping(value = "/frame_b", method = RequestMethod.GET) public ModelAndView goFrameb(ModelMap model) { return new ModelAndView("frame_b"); }
view resolver can map to your jsp page like frame_b.jsp
**** jsp is present in web-inf/jsp/*.jsp