/** Returns the page definition of the specified content; never null. * * <p>Dependency: Execution.createComponentsDirectly -& Execution.getPageDefinitionDirectly * -& UiFactory.getPageDefiitionDirectly -& PageDefintions.getPageDefinitionDirectly */ public PageDefinition getPageDefinitionDirectly(RequestInfo ri, String content, String extension) { return PageDefinitions.getPageDefinitionDirectly(ri.getWebApp(), ri.getLocator(), content, extension); }
/** Creates a page. * It invokes {@link UiFactory#newPage}. However, it prepares * {@link ExecutionsCtrl#getCurrent} for {@link org.zkoss.zk.ui.sys.IdGenerator#nextPageUuid} * * <p>Note: Use this method to create a page, rather than invoking * {@link UiFactory#newPage} directly. * @since 3.6.0 */ public static Page newPage(UiFactory uf, RequestInfo ri, Richlet richlet, ServletResponse response, String path) { final DesktopCtrl desktopCtrl = (DesktopCtrl) ri.getDesktop(); final Execution exec = ExecutionsCtrl.getCurrent(); TemporaryExecution de = new TemporaryExecution(ri.getWebApp().getServletContext(), (HttpServletRequest) ri.getNativeRequest(), (HttpServletResponse) response, ri.getDesktop()); desktopCtrl.setExecution(de); ExecutionsCtrl.setCurrent(de); try { return uf.newPage(ri, richlet, path); //de won't be voided since no DesktopInit-like plugin } finally { ExecutionsCtrl.setCurrent(exec); desktopCtrl.setExecution(exec); } }
public Desktop newDesktop(RequestInfo ri, String updateURI, String path) { String deviceType = null; if (path != null) { //convert to directory //though UiEngine.execNewPage will set the device type later, //we 'guess' a value first by use of the extension //reason: less dependent of how UiEngine is implemented final int k = path.lastIndexOf('.') + 1; if (k > 0 && path.indexOf('/', k) < 0 && k < path.length()) { final String ext = path.substring(k); try { deviceType = LanguageDefinition.getByExtension(ext).getDeviceType(); } catch (DefinitionNotFoundException ex) { //ignore } } } return new DesktopImpl(ri.getWebApp(), updateURI, path, deviceType, ri.getNativeRequest()); }
public Richlet getRichlet(RequestInfo ri, String path) { return ri.getWebApp().getConfiguration().getRichletByPath(path); }
public void patchRender(RequestInfo reqInfo, Page page, Writer result, Writer out) throws IOException { if (getDelay() >= 0) super.patchRender(reqInfo, page, result, out); PortletSession p = (PortletSession) reqInfo.getSession().getNativeSession(); out.write("<script>zk.afterMount(function () {" + "document.cookie = 'JSESSIONID=" + p.getId() + "; path=/'" + "});</script>"); }
/** Creates a page. * It invokes {@link UiFactory#newPage}. However, it prepares * {@link ExecutionsCtrl#getCurrent} for {@link org.zkoss.zk.ui.sys.IdGenerator#nextPageUuid} * * <p>Note: Use this method to create a page, rather than invoking * {@link UiFactory#newPage} directly. * @since 3.6.0 */ public static Page newPage(UiFactory uf, RequestInfo ri, PageDefinition pagedef, ServletResponse response, String path) { final DesktopCtrl desktopCtrl = (DesktopCtrl) ri.getDesktop(); final Execution exec = ExecutionsCtrl.getCurrent(); TemporaryExecution de = new TemporaryExecution(ri.getWebApp().getServletContext(), (HttpServletRequest) ri.getNativeRequest(), (HttpServletResponse) response, ri.getDesktop()); desktopCtrl.setExecution(de); ExecutionsCtrl.setCurrent(de); try { return uf.newPage(ri, pagedef, path); //de won't be voided since no DesktopInit-like plugin } finally { ExecutionsCtrl.setCurrent(exec); desktopCtrl.setExecution(exec); } }
public PageDefinition getPageDefinitionDirectly(RequestInfo ri, Reader reader, String extension) throws IOException { return PageDefinitions.getPageDefinitionDirectly(ri.getWebApp(), ri.getLocator(), reader, extension); } }
/** Returns the page definition of the specified path, or null if not found. * * <p>Dependency: Execution.createComponents -& Execution.getPageDefinition * -& UiFactory.getPageDefiition -& PageDefinitions.getPageDefinition */ public PageDefinition getPageDefinition(RequestInfo ri, String path) { return PageDefinitions.getPageDefinition(ri.getWebApp(), ri.getLocator(), path); }
public PageDefinition getPageDefinitionDirectly(RequestInfo ri, Document content, String extension) { return PageDefinitions.getPageDefinitionDirectly(ri.getWebApp(), ri.getLocator(), content, extension); }