⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jspparseeventlistener.java

📁 这是一个法律事务所系统源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                throw new CompileException(start,					   Constants.getString("jsp.error.page.multiple.language"));            listener.languageDir = true;            if (language != null)                if (!language.equalsIgnoreCase("java"))                    throw new CompileException(start,					       Constants.getString("jsp.error.page.nomapping.language")+language);        }    }    static final class ImportsHandler implements PageDirectiveHandler {        public void handlePageDirectiveAttribute(JspParseEventListener listener,                                                 String importPkgs,                                                 Mark start, Mark stop)            throws JasperException        {            if (importPkgs != null) {                StringTokenizer tokenizer = new StringTokenizer(importPkgs, ",");                while (tokenizer.hasMoreTokens())                    listener.imports.addElement(tokenizer.nextToken());            }        }    }    static final class ExtendsHandler implements PageDirectiveHandler {        public void handlePageDirectiveAttribute(JspParseEventListener listener,                                                 String extendsClzz,                                                 Mark start, Mark stop)            throws JasperException        {            if (listener.extendsDir == true)                throw new CompileException(start,					   Constants.getString("jsp.error.page.multiple.extends"));            listener.extendsDir = true;            if (extendsClzz != null)  {                listener.extendsClass = extendsClzz;		/*		 * If page superclass is top level class (i.e. not in a pkg)		 * explicitly import it. If this is not done, the compiler		 * will assume the extended class is in the same pkg as		 * the generated servlet.		 */		if (extendsClzz.indexOf(".") == -1)  {                    listener.imports.addElement(extendsClzz);		}            }        }    }    public void handleDirective(String directive, Mark start,				Mark stop, Hashtable attrs)	throws JasperException    {        Constants.message("jsp.message.handling_directive",                          new Object[] { directive, attrs },                          Logger.DEBUG);	if (directive.equals("page")) {	    Enumeration e = attrs.keys();	    String attr;	    while (e.hasMoreElements()) {		attr = (String) e.nextElement();                for(int i = 0; i < pdhis.length; i++) {                    PageDirectiveHandlerInfo pdhi = pdhis[i];                    if (attr.equals(pdhi.attribute)) {                        String value = (String) attrs.get(pdhi.attribute);                        pdhi.handler.handlePageDirectiveAttribute(this, value,                                                                  start, stop);                    }                }            }        }        // Do some validations...        if (bufferSize == 0 && autoFlush == false)            throw new CompileException(start, Constants.getString(	    				"jsp.error.page.bad_b_and_a_combo"));	if (directive.equals("taglib")) {            String uri = (String) attrs.get("uri");            String prefix = (String) attrs.get("prefix");            try {                TagLibraryInfo tl = new TagLibraryInfoImpl(ctxt,                                                               prefix,                                                               uri);                libraries.addTagLibrary(prefix, tl);            } catch (Exception ex) {                ex.printStackTrace();                Object[] args = new Object[] { uri, ex.getMessage() };                throw new CompileException(start, Constants.getString("jsp.error.badtaglib",                                                              args));            }	}	if (directive.equals("include")) {	    String file = (String) attrs.get("file");	    String encoding = (String) attrs.get("encoding");	    if (file == null)		throw new CompileException(start,					   Constants.getString("jsp.error.include.missing.file"));            // jsp.error.include.bad.file needs taking care of here??            try {                reader.pushFile(file, encoding);            } catch (FileNotFoundException fnfe) {                throw new CompileException(start,					   Constants.getString("jsp.error.include.bad.file"));            }	}    }    class GeneratorWrapper        implements Generator, ClassDeclarationPhase,                   FileDeclarationPhase, ServiceMethodPhase,                   InitMethodPhase, StaticInitializerPhase    {        Generator generator;        Mark start, stop;        GeneratorWrapper(Generator generator, Mark start, Mark stop) {            this.generator = generator;            this.start = start;            this.stop = stop;        }        /*         * This is really a no-op.         */        public boolean generateCoordinates(Class phase) {            return generator.generateCoordinates(phase);        }        public void init(JspCompilationContext ctxt)            throws JasperException        {            generator.init(ctxt);        }        public void generate(ServletWriter out, Class phase)				throws JasperException	{            if (phase.isInstance(generator)) {                boolean genCoords = generator.generateCoordinates(phase);                if (genCoords) {		    commentGenerator.generateStartComment			(generator, out, start, stop);                }                generator.generate(out, phase);                if (genCoords) {		    commentGenerator.generateEndComment			(generator, out, start, stop);                }            }        }    }    public void handleDeclaration(Mark start, Mark stop, Hashtable attrs)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new DeclarationGenerator(reader.getChars(	    			   start, stop)), start, stop);	addGenerator(gen);    }    public void handleScriptlet(Mark start, Mark stop, Hashtable attrs)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new ScriptletGenerator(reader.getChars(	    			   start, stop)), start, stop);	addGenerator(gen);    }    public void handleExpression(Mark start, Mark stop, Hashtable attrs)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new ExpressionGenerator(reader.getChars(	    			   start, stop)), start, stop);	addGenerator(gen);    }    public void handleBean(Mark start, Mark stop, Hashtable attrs)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new BeanGenerator(start, attrs, beanInfo,                                                     genSessionVariable),                                   start, stop);	addGenerator(gen);    }    public void handleBeanEnd(Mark start, Mark stop, Hashtable attrs)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new BeanEndGenerator(),                                   start, stop);	// End the block started by useBean body.	addGenerator(gen);    }    public void handleGetProperty(Mark start, Mark stop, Hashtable attrs)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new GetPropertyGenerator(start, stop, attrs,	    			   beanInfo), start, stop);	addGenerator(gen);    }    public void handleSetProperty(Mark start, Mark stop, Hashtable attrs)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new SetPropertyGenerator(start, stop, attrs,	    			   beanInfo), start, stop);	addGenerator(gen);    }    public void handlePlugin(Mark start, Mark stop, Hashtable attrs,    				Hashtable param, String fallback)	throws JasperException    {        Constants.message("jsp.message.handling_plugin",                          new Object[] { attrs },                          Logger.DEBUG);	Generator gen = new GeneratorWrapper (new PluginGenerator (start, attrs,					      param, fallback), start, stop);	addGenerator (gen);    }    public void handleForward(Mark start, Mark stop, Hashtable attrs, Hashtable param)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new ForwardGenerator(start, attrs, param),                                   start, stop);	addGenerator(gen);    }    public void handleInclude(Mark start, Mark stop, Hashtable attrs, Hashtable param)	throws JasperException    {        Generator gen            = new GeneratorWrapper(new IncludeGenerator(start, attrs, param),                                   start, stop);	addGenerator(gen);    }    public void handleCharData(Mark start, Mark stop, char[] chars) throws JasperException {        GeneratorBase cdg;        if (ctxt.getOptions().getLargeFile())            cdg = new StoredCharDataGenerator(vector, dataFile, stringId++, chars);        else if(ctxt.getOptions().getMappedFile())            cdg = new MappedCharDataGenerator(chars);	else	    cdg = new CharDataGenerator(chars);        Generator gen            = new GeneratorWrapper(cdg,                                   start, stop);	addGenerator(gen);    }    public void handleTagBegin(Mark start, Mark stop, Hashtable attrs, String prefix,			       String shortTagName, TagLibraryInfo tli,			       TagInfo ti)	throws JasperException    {        TagBeginGenerator tbg = new TagBeginGenerator(start, prefix, shortTagName, attrs,	    tli, ti, libraries, getTagHandlerStack(), getTagVarNumbers());        Generator gen = new GeneratorWrapper(tbg, start, stop);	addGenerator(gen);    }    public void handleTagEnd(Mark start, Mark stop, String prefix,			     String shortTagName, Hashtable attrs,                             TagLibraryInfo tli, TagInfo ti)	throws JasperException    {        TagEndGenerator teg = new TagEndGenerator(prefix, shortTagName, attrs,	    tli, ti, libraries, getTagHandlerStack(), getTagVarNumbers());        Generator gen = new GeneratorWrapper(teg, start, stop);	addGenerator(gen);    }    public TagLibraries getTagLibraries() {	return libraries;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -