大家好,我现在接了一个给老系统换框架的工作。客户要求使用的是JSF+SPRING框架,可我发现这个jsf我一点也不熟悉而且也不好用。题外话了,下面说下我的问题。
现在是要打开一个新窗口,但是又要传值过去。通过传过去的参数到数据库里去取值,再将取到的值展现在新打开的窗口里。在老的框架里,他们是这样写的:var code = window.document.frmInquiry.code.value;
lfnNewWindowMedium('project?Action=FindCode&hdnUserId='+document.frmTermsInquiry.hdnUserId.value+'&Code='+code,'PopUP');lfnNewWindowMedium 就是一个打开新窗口的window.open 的function, 他们是打开一个action,并且把参数传进action中进行操作,在action里返回一个页面,最后就是打开那个页面并将结果展示出来。
可是我在jsf里应该怎么做呢??? 我也想像他们那样传一个action进去,但是jsf里没有action。我该怎么样做才能先去后台java里操作数据,然后再打开新页面呢????
不知道我有没有把意思表达清楚。谢谢大家了!!!
现在是要打开一个新窗口,但是又要传值过去。通过传过去的参数到数据库里去取值,再将取到的值展现在新打开的窗口里。在老的框架里,他们是这样写的:var code = window.document.frmInquiry.code.value;
lfnNewWindowMedium('project?Action=FindCode&hdnUserId='+document.frmTermsInquiry.hdnUserId.value+'&Code='+code,'PopUP');lfnNewWindowMedium 就是一个打开新窗口的window.open 的function, 他们是打开一个action,并且把参数传进action中进行操作,在action里返回一个页面,最后就是打开那个页面并将结果展示出来。
可是我在jsf里应该怎么做呢??? 我也想像他们那样传一个action进去,但是jsf里没有action。我该怎么样做才能先去后台java里操作数据,然后再打开新页面呢????
不知道我有没有把意思表达清楚。谢谢大家了!!!
解决方案 »
- struts2
- 常见三大框架和springMVC到底有什么大的区别,为什么大多企业都不用springMVC
- SSH空的框架
- java调用sybase存储过程出错
- mina框架中数据传输时候,将一个byte数组从客户端传送到服务器端。使用的是文本编码器(TextLineCodecFactory)。在服务器端接受到数据时候已经转换成了object.我该怎样将object对象转换成原始的数据类型byte数组呢?
- 求救!!!Hibernate 复合主键作外键且一对多关联问题!
- jsf 讀取全局變量 application?
- 若若问个简单的JSP的标签库申明问题
- JasperReport编程时,there is no action mapped for action name px?
- 高手过来看看。解决马上揭贴
- java题求解
- 通过fckeditor编辑器输入的内容、、其中含有图片。如何动态显示图片到rss文件
<a4j:commandButton title="Select Ship To Location" action="#{content.loadShipLocation}" image="/images/lookup.gif" oncomplete="javascript:lfnNewWindowMedium('/apss/pages/request/findshiptolocation.faces','ShipToLocationLookUp')"/>
就是先执行action中的loadShipLocation方法,执行完成后再执行javascript去打开一个新窗口
public void loadShipLocation(){ txtAddress = pymtServ.getAddress();
}在新窗口的jsp中就用 #{pymtBean.txtAddress}取值就行了。
是在新开窗口的url中使用参数 也就是url?x=1 这样的方式传参数的
然后 在mbean 也就是后台bean 初始化的时候 用request.getParameter("x")方法获取url中的参数x的值,然后用这个值获取数据库中的数据,这些都是在后台bean的构造函数里面操作的
当然也可以设置一个后台bean的property来保存这个值,再 在 get方法中用这个值进行数据库操作。
<a4j:commandButton title="Select Ship To Location" action="#{content.loadShipLocation}" image="/images/lookup.gif" oncomplete="javascript:lfnNewWindowMedium('/apss/pages/request/findshiptolocation.faces','ShipToLocationLookUp')"/>
就是先执行action中的loadShipLocation方法,执行完成后再执行javascript去打开一个新窗口新窗口中的mbean要和获取数据的mbean是一个实例才可以吧,不然数据无法显示在新窗口的。
不过可以用session来保存以后取出