请JSF高手帮个忙..

a2bb 2008-01-12 11:35:58
有没有高手写过JSF从bean里打开一个dialog.然后dialog里执行完bean里的方法后,自动关闭,并且刷新父页面...

高分达谢啊...

...全文
146 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
a2bb 2008-01-16
  • 打赏
  • 举报
回复
自己搞定了。。发现居然是t:save标签的原因,加了个if就好了
hahe7788 2008-01-15
  • 打赏
  • 举报
回复
按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620
在那里看看有无能回答你的,谢谢,LZ,甭忘了给俺分哦,谢谢LZ
a2bb 2008-01-15
  • 打赏
  • 举报
回复
主要是想知道不用ajax还可以做。。。

哎。。。为这个苦了俺喽
hornbilltofy 2008-01-15
  • 打赏
  • 举报
回复
以上的方法都不现实,使用ajax4jsf的reRender属性或oncomplete事件,这些根本就不是问题.
hahe7788 2008-01-14
  • 打赏
  • 举报
回复
按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620
在那里看看有无能回答你的,谢谢,LZ,甭忘了给俺分哦,谢谢LZ
wu_07 2008-01-14
  • 打赏
  • 举报
回复
这样啊!

父窗口按钮

<t:commandButton value=" 。。。" action="#{bean.method}" onclick="openModalDialogchild();//根据返回值如果不为空 return true;else return false" />

在bean.method方法中重新检索数据即可
a2bb 2008-01-14
  • 打赏
  • 举报
回复
其实是很简单的功能,父页面点击一个"增加"按钮,然后弹出Dialog,接着在Dialog里做搜索,选中你要增加的数据,接着做
save..然后父页面刷新成最新的数据列表..

现在是前面都可以..包括保存和父页面的新数据list,但是父页面不会显式出来..

JS就是子页面先返还数值,然后父页面一个JS判断,如果隐藏域有值,就触发一个后台bean的方法,然后在后台bean里进行save和重新得到list

子页面的JS是

function selectDept(deptId,deptName){
var deptId = document.getElementById("deptForm:ddd").value;
var deptName = document.getElementById("deptForm:eee").value;
window.returnValue = deptId + "," + deptName;
window.close();
}


window.returnValue = deptId + "," + deptName;
用来返还父页面值,父页面得到值后触发后台bean..

这样父页面是不会刷新的..

不知道哪位达人知道解决方法啊...






journeydj 2008-01-14
  • 打赏
  • 举报
回复
既然值取到了为什么要让父页面刷新????
a2bb 2008-01-14
  • 打赏
  • 举报
回复
我自己本来也是用JS做的,但是有问题,没法刷新
我现在是这么做的,父页面点击‘增加;,弹出Dialog,然后Dialog窗口点击事件,把值传回父窗口,然后关闭子页面,然后JS触发父窗口后台bean的save方法,再重新查LIST,返回父页面。。但是父窗口不会刷新,里面的LIST值是变为保存过了的了。
直接在save里打error message也没法出来。

是不是因为焦点什么的问题??

期待高手解答啊
wu_07 2008-01-13
  • 打赏
  • 举报
回复
需要结合js来实现:

function addStd(){

var url = '.......';
showModalDialog(url, window, "dialogWidth:480px;dialogHeight:560px;dialogTop:100;help:no;status:no;scroll:no;resizable:no");
}



父窗口按钮:
<t:commandButton id="add" value=" 。。。" onclick="addStd()" />

子窗口按钮:

<t:commandButton value="保存"
action="#{stdBean.saveNewStd}" />

backing bean:

public String saveNewStd() {
//do sth

try {
getResponse().getWriter().write(
"<script language=javascript>window.close();</script>");
} catch (Exception e) {
e.printStackTrace();
}
return "ok";
}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧