iframe提交后更新其父页面
我们在运用struts开发的时候会用到这样的情况,需要在一个页面中的iframe中进行数据操作,等数据提交完成后需要将父页面的数据进行更新。这里我写一下我自己用到的一个方法。是我的一个老师推荐的。方法其实也挺简单:在iframe的action方法中定义父页面的转向。
public ActionForward insertRecord(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {ActionForward forward = null;BasSuppliesUseForm frm = (BasSuppliesUseForm) form;BasSupplies basSupplies = new BasSupplies();try {// 设置部门初始值BasSuppliesUse basSuppliesUseObject = frm.getSaveObject();this.getBasSuppliesService().update(basSuppliesUseObject );StringBuffer scriptString = new StringBuffer();scriptString.append("<html>\n\r");scriptString.append("<head>\n\r");scriptString.append("<meta http-equiv='Content-Type' content='text/html; charset=GBK'>\n\r");scriptString.append("</head>\n\r");scriptString.append("<body>\n\r");scriptString.append("<scriptlanguage='javascript'>\n\r");scriptString.append("parent.location.href=\"BasSupplies.do?method=refreshViewRecord&suppliesId="+ frm.getQueryObject().getBasSupplies().getSuppliesId() + "\"\n\r"); //这里定义父页面的src,这里是关键scriptString.append("</script>\n\r");scriptString.append("</body>\n\r");scriptString.append("</html>");response.setContentType("text/html;charset=GBK");response.getWriter().print(scriptString.toString());} catch (Exception e) {}return forward;} 这样就实现了。
页:
[1]