论坛首页 Java企业应用论坛

如何在改变当前Frame时,刷新另一个Frame,能拦截器之类的么

浏览 13272 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-09-22  
问题描述:
所有页面分为左右两个Frame,
右侧的Frame是主窗口,一般的CRUD操作在里面做,
左侧的Frame是放置菜单的位置,具体显示什么菜单项是和右侧的内容关联的。


例如:
右侧是“增加用户的界面”那么 左侧显示“修改用户”“ 删除用户” 等菜单。

又如:
右侧是 “删除用户界面”那么 左侧应显示 “修改用户”“增加用户” 等菜单。

我的想法是,最简单的做法是把代码写在页面里面,
在右侧页面载入时,用JS控制左侧菜单的刷新,

<body onload='javascript:refresh_left();'>
这样的坏处很明显,每个页面都要加这种东西,bad smell.

感觉上用WW的拦截器应该可以做到,但思路很不清晰,
向各位请教。

我用的是 WW + Spring +Hibernate


   发表时间:2005-09-22  
还不如你这样简单呢.

拦截器也不是拦截你客户断东西
0 请登录后投票
   发表时间:2005-09-22  
我这不是想寻找更体面的解决方法嘛,hehe
0 请登录后投票
   发表时间:2005-09-25  
按照楼主javascript这样的做法。碰到这样一个问题,当rigth_frame change_event事件。有些要不想刷新left_frame,有些要刷新的。碰到这样问题怎么解决呢?
0 请登录后投票
   发表时间:2005-09-27  
ssuupv 写道
按照楼主javascript这样的做法。碰到这样一个问题,当rigth_frame change_event事件。有些要不想刷新left_frame,有些要刷新的。碰到这样问题怎么解决呢?


每个页面将页面自己名字传到 refresh_left()里面
goMenu.action?url=pagename
这样我可以从数据库或其它地方取得这个映射关系

关键问题不是能否实现,是现在实现起来感觉太丑陋。
0 请登录后投票
   发表时间:2005-09-27  
呵呵,除非让Erik给你实现一个JavaScript的AOP
0 请登录后投票
   发表时间:2005-09-28  
&lt;frameset border=0 frameBorder=NO frameSpacing=1 cols=170,*&gt;
    &lt;frame name="menuFrame"  src="a.action" scrolling="auto" marginwidth="1" marginheight="1" noresize&gt;
    &lt;frame name= "mainFrame"  src="b.action?productType=MARKET" Scrolling="auto" noresize&gt;
  &lt;/frameset&gt;
mainFrame 中b.acton后,转发一个b.jsp页面。在b.jsp页面中又有几个.action.  display.action,delete.action,modify.action. 当我们点击display.action我不想刷新menuFrame,其它二个,是要刷新menuFrame
这样我不知道。怎么控制它。
0 请登录后投票
   发表时间:2005-09-30  
ssuupv 写道
在b.jsp页面中又有几个.action.  display.action,delete.action,modify.action. 当我们点击display.action我不想刷新menuFrame,其它二个,是要刷新menuFrame
这样我不知道。怎么控制它。


实际上,用现在很火的AJAX就可以做到,
通过XMLHTTP将action name 做为参数,
在服务器端的程序发现 actionName = 'display.action'的时候就
在返回时候告诉哪个回调的JS函数什么也不做,
否则就将需要跳转的页面连接传入哪个JS里面

写成伪码就是


if (url.equals("display.action"););
{
    回调 js
    js什么都不做
}
else if (url.equals("delete.action"););
{
    回调 js
    js(RedirectUrl);
}
0 请登录后投票
   发表时间:2005-09-30  
使用sitemesh。
映射所有 在右侧显示需刷新左侧树的 url。
在模板页中,body的后部(before end),加上一段javascript,用于执行刷新菜单树功能。


通用的理想中的页面IoC,俺还没见到
0 请登录后投票
   发表时间:2005-09-30  
liusong1111 写道
使用sitemesh。
映射所有 在右侧显示需刷新左侧树的 url。
在模板页中,body的后部(before end),加上一段javascript,用于执行刷新菜单树功能。


通用的理想中的页面IoC,俺还没见到

嗯 也是一种办法,那么使用FreeMaker,也可以这样一个加上JS功能,
而且处理后文件是静态的。

如你所说也许一个客户端的IOC方案就可以解决我这个问题,
但除了IOC,真没有其它更具针对性的办法么?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics