defaultdebugpagegenerator.java
来自「反向的AJAX。最大的特性是我们成为反向的Ajax。DWR1.x允许你用java」· Java 代码 · 共 513 行 · 第 1/2 页
JAVA
513 行
} } if (overloaded) { buffer.append("<br/><span class='warning'>(Warning: overloaded methods are not recommended. See <a href='#overloadedMethod'>below</a>)</span>\n"); } // Print a warning if the method uses un-marshallable types for (int j = 0; j < paramTypes.length; j++) { if (!converterManager.isConvertable(paramTypes[j])) { buffer.append("<br/><span class='warning'>(Warning: No Converter for " + paramTypes[j].getName() + ". See <a href='#missingConverter'>below</a>)</span>\n"); } } if (!converterManager.isConvertable(method.getReturnType())) { buffer.append("<br/><span class='warning'>(Warning: No Converter for " + method.getReturnType().getName() + ". See <a href='#missingConverter'>below</a>)</span>\n"); } // See also the call to getReasonToNotExecute() above try { accessControl.assertIsDisplayable(creator, scriptName, method); } catch (SecurityException ex) { buffer.append("<br/><span class='warning'>(Warning: " + methodName + "() is excluded: " + ex.getMessage() + ". See <a href='#excludedMethod'>below</a>)</span>\n"); } // We don't need to call assertExecutionIsPossible() because those // checks should be done by assertIsDisplayable() above // accessControl.assertExecutionIsPossible(creator, scriptName, method); buffer.append("</li>\n"); } buffer.append(BLANK); buffer.append("</ul>\n"); buffer.append("<h2>Other Links</h2>\n"); buffer.append("<ul>\n"); buffer.append("<li>Back to <a href='" + root + "/'>class index</a>.</li>\n"); buffer.append("</ul>\n"); synchronized (scriptCache) { String output = (String) scriptCache.get(PathConstants.FILE_HELP); if (output == null) { InputStream raw = getClass().getResourceAsStream(DwrConstants.PACKAGE + PathConstants.FILE_HELP); if (raw == null) { log.error(Messages.getString("DefaultProcessor.MissingHelp", PathConstants.FILE_HELP)); output = "<p>Failed to read help text from resource file. Check dwr.jar is built to include html files.</p>"; } else { StringBuffer fileBuffer = new StringBuffer(); BufferedReader in = new BufferedReader(new InputStreamReader(raw)); while (true) { try { String line = in.readLine(); if (line == null) { break; } fileBuffer.append(line); fileBuffer.append('\n'); } catch (IOException ex) { fileBuffer.append(ex.toString()); fileBuffer.append('\n'); break; } } output = fileBuffer.toString(); } scriptCache.put(PathConstants.FILE_HELP, output); } buffer.append(output); } buffer.append("</body></html>\n"); return buffer.toString(); } /* (non-Javadoc) * @see org.directwebremoting.DebugPageGenerator#generateInterfaceUrl(java.lang.String, java.lang.String) */ public String generateInterfaceUrl(String root, String scriptName) { return root + interfaceHandlerUrl + scriptName + PathConstants.EXTENSION_JS; } /* (non-Javadoc) * @see org.directwebremoting.DebugPageGenerator#generateEngineUrl(java.lang.String) */ public String generateEngineUrl(String root) { return root + engineHandlerUrl; } /* (non-Javadoc) * @see org.directwebremoting.DebugPageGenerator#generateLibraryUrl(java.lang.String, java.lang.String) */ public String generateLibraryUrl(String root, String library) { return root + library; } /* (non-Javadoc) * @see org.directwebremoting.DebugPageGenerator#getAvailableLibraries() */ public Collection getAvailableLibraries() { if (availableLibraries == null) { availableLibraries = Collections.unmodifiableCollection(Arrays.asList(new String[] { utilHandlerUrl })); } return availableLibraries; } /** * Accessor for the DefaultCreatorManager that we configure * @param converterManager The new DefaultConverterManager */ public void setConverterManager(ConverterManager converterManager) { this.converterManager = converterManager; } /** * Accessor for the DefaultCreatorManager that we configure * @param creatorManager The new DefaultConverterManager */ public void setCreatorManager(CreatorManager creatorManager) { this.creatorManager = creatorManager; } /** * Accessor for the security manager * @param accessControl The accessControl to set. */ public void setAccessControl(AccessControl accessControl) { this.accessControl = accessControl; } /** * @param engineHandlerUrl the engineHandlerUrl to set */ public void setEngineHandlerUrl(String engineHandlerUrl) { this.engineHandlerUrl = engineHandlerUrl; } /** * @param utilHandlerUrl the utilHandlerUrl to set */ public void setUtilHandlerUrl(String utilHandlerUrl) { this.utilHandlerUrl = utilHandlerUrl; } /** * @param testHandlerUrl the testHandlerUrl to set */ public void setTestHandlerUrl(String testHandlerUrl) { this.testHandlerUrl = testHandlerUrl; } /** * Setter for the URL that this handler available on * @param interfaceHandlerUrl the interfaceHandlerUrl to set */ public void setInterfaceHandlerUrl(String interfaceHandlerUrl) { this.interfaceHandlerUrl = interfaceHandlerUrl; } /** * The URL for the {@link EngineHandler} */ protected String engineHandlerUrl; /** * The URL for the {@link UtilHandler} */ protected String utilHandlerUrl; /** * The URL for the {@link UtilHandler} */ protected String testHandlerUrl; /** * What URL is this handler available on? */ protected String interfaceHandlerUrl; /** * How we convert parameters */ protected ConverterManager converterManager = null; /** * How we create new beans */ protected CreatorManager creatorManager = null; /** * The security manager */ protected AccessControl accessControl = null; /** * We cache the script output for speed */ protected final Map scriptCache = new HashMap(); /** * For getAvailableLibraries() - just a RO Collection that currently returns * only util.js, but may be expanded in the future. */ private Collection availableLibraries = null; /** * 2 dots */ private static final String PATH_UP = ".."; /** * Empty string */ public static final String BLANK = ""; /** * The log stream */ private static final Logger log = Logger.getLogger(DefaultDebugPageGenerator.class);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?