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

📄 parser.java

📁 这是一个法律事务所系统源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			throw new ParseException(reader.mark(), 						 Constants.getString						 ("jsp.error.unterminated", 						  new Object[] { OPEN_FORWARD }));		    reader.advance(CLOSE_FORWARD.length());		}		else		    reader.advance(CLOSE_FORWARD_NO_BODY.length());				Mark stop = reader.mark();		listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);				listener.handleForward(start, stop, attrs, param);		return true;	    } else		return false;	}    }    static {	coreElements.addElement(new Forward());    }    /*     * Jsp comments <%--  stuff --%>     */    // declarations    static final class Comment implements CoreElement {	private static final String OPEN_COMMENT  = "<%--";	private static final String CLOSE_COMMENT = "--%>";	public boolean accept(ParseEventListener listener, JspReader reader, Parser parser) 	    throws JasperException 	{	    if (reader.matches(OPEN_COMMENT)) {		reader.advance(OPEN_COMMENT.length());		Mark start = reader.mark();		Mark stop = reader.skipUntil(CLOSE_COMMENT);		if (stop == null)		    throw new ParseException(Constants.getString("jsp.error.unterminated",                                                                  new Object[] { OPEN_COMMENT }));		parser.flushCharData(parser.tmplStart, parser.tmplStop);		return true;	    }	    return false;	}    }	    static {	coreElements.addElement(new Comment());    }    /*     * Scripting elements     */        // declarations    static final class Declaration implements CoreElement {	private static final String OPEN_DECL  = "<%!";	private static final String CLOSE_DECL = "%>";        private static final JspUtil.ValidAttribute[] validAttributes = {        };	public boolean accept(ParseEventListener listener, JspReader reader, Parser parser) 	    throws JasperException 	{	    String close, open, end_open = null;            Hashtable attrs = null;	    Mark start;					    if (reader.matches(OPEN_DECL)) {		open = OPEN_DECL;		close = CLOSE_DECL;	    } else		return false;	    reader.advance(open.length());	    start = reader.mark();            if (end_open != null) {                attrs = reader.parseTagAttributes();		reader.skipSpaces();		if (!reader.matches(end_open)) 		    throw new ParseException(reader.mark(),			Constants.getString("jsp.error.unterminated"));	        reader.advance(end_open.length());		reader.skipSpaces();		JspUtil.checkAttributes("Declaration", attrs, validAttributes, start);            }	    Mark stop = reader.skipUntil(close);	    if (stop == null)		throw new ParseException(Constants.getString("jsp.error.unterminated",                                                              new Object[] { open }));	    listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);	    	    listener.handleDeclaration(start, stop, attrs);	    return true;	}    }	    static {	coreElements.addElement(new Declaration());    }            // expressions    static final class Expression implements CoreElement {	private static final String OPEN_EXPR  = "<%=";	private static final String CLOSE_EXPR = "%>";        private static final JspUtil.ValidAttribute[] validAttributes = {        };	public boolean accept(ParseEventListener listener, JspReader reader, Parser parser) 	    throws JasperException	{	    String close, open, end_open=null;            Hashtable attrs = null;	    Mark start;			    if (reader.matches(OPEN_EXPR)) {		open = OPEN_EXPR;		close = CLOSE_EXPR;	    } else		return false;	    reader.advance(open.length());	    start = reader.mark();            if (end_open != null) {                attrs = reader.parseTagAttributes();		reader.skipSpaces();		if (!reader.matches(end_open)) 		    throw new ParseException(reader.mark(),			Constants.getString("jsp.error.unterminated"));	        reader.advance(end_open.length());		reader.skipSpaces();                JspUtil.checkAttributes("Expression", attrs, validAttributes, start);            }	    Mark stop = reader.skipUntil(close);	    if (stop == null)		throw new ParseException(reader.mark(),                                          Constants.getString("jsp.error.unterminated",                                                                  new Object[] { open }));	    listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);	    	    listener.handleExpression(start, stop, attrs);	    return true;	}    }    static {	coreElements.addElement(new Expression());    }    // scriptlets    static final class Scriptlet implements CoreElement {	private static final String OPEN_SCRIPTLET  = "<%";	private static final String CLOSE_SCRIPTLET = "%>";        private static final JspUtil.ValidAttribute[] validAttributes = {        };	public boolean accept(ParseEventListener listener, JspReader reader, Parser parser) 	    throws JasperException	{	    String close, open, end_open = null;            Hashtable attrs = null;	    Mark start;	    	    if (reader.matches(OPEN_SCRIPTLET)) {		open = OPEN_SCRIPTLET;		close = CLOSE_SCRIPTLET;	    } else		return false;			    reader.advance(open.length());	    start = reader.mark();            if (end_open != null) {                attrs = reader.parseTagAttributes();		reader.skipSpaces();		if (!reader.matches(end_open)) 		    throw new ParseException(reader.mark(),			Constants.getString("jsp.error.unterminated"));	        reader.advance(end_open.length());		reader.skipSpaces();                JspUtil.checkAttributes("Scriptlet", attrs, validAttributes, start);            }	    Mark stop = reader.skipUntil(close);	    if (stop == null)		throw new ParseException(reader.mark(),                                          Constants.getString("jsp.error.unterminated",                                                                  new Object[] { open }));	    listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);	    	    listener.handleScriptlet(start, stop, attrs);	    return true;	}    }    static {	coreElements.addElement(new Scriptlet());    }    /*     * UseBean     */    static final class Bean implements CoreElement {	private static final String OPEN_BEAN  = "<jsp:useBean";	private static final String CLOSE_BEAN = "/>";	private static final String CLOSE_BEAN_2 = "</jsp:useBean>";	private static final String CLOSE_BEAN_3 = ">";	private static final JspUtil.ValidAttribute[] validAttributes = {	   new JspUtil.ValidAttribute("id"),	   new JspUtil.ValidAttribute("scope"),	   new JspUtil.ValidAttribute("class"),	   new JspUtil.ValidAttribute("type"),	   new JspUtil.ValidAttribute("beanName")	};	public boolean accept(ParseEventListener listener, JspReader reader, Parser parser) 	    throws JasperException 	{	    if (reader.matches(OPEN_BEAN)) {		Mark start = reader.mark();		reader.advance(OPEN_BEAN.length());		Hashtable attrs = reader.parseTagAttributesBean();	        JspUtil.checkAttributes ("useBean", attrs, validAttributes, start);		reader.skipSpaces();		if (!reader.matches(CLOSE_BEAN)) {		    if (!reader.matches(CLOSE_BEAN_3))			throw new ParseException(reader.mark(),                                                 Constants.getString("jsp.error.unterminated",                                                                  new Object[] { "useBean" }));		    reader.advance(CLOSE_BEAN_3.length());                    Mark stop = reader.mark();		    listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);		                        listener.handleBean(start, stop, attrs);		    int oldSize = reader.size;		    parser.parse(CLOSE_BEAN_2);		    if (oldSize != reader.size) {			throw new ParseException (reader.mark(),                                                   Constants.getString("jsp.error.usebean.notinsamefile"));		    }		    if (!reader.matches(CLOSE_BEAN_2))			throw new ParseException(reader.mark(),                                                  Constants.getString("jsp.error.unterminated"								     ,                                                                      new Object[] { OPEN_BEAN })						 );		    reader.advance (CLOSE_BEAN_2.length());		                        listener.handleBeanEnd(start, stop, attrs);                    return true;		} else {                    reader.advance(CLOSE_BEAN.length());                    Mark stop = reader.mark();		    listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);		                        listener.handleBean(start, stop, attrs);                    listener.handleBeanEnd(start, stop, attrs);                    return true;                }	    } else		return false;	}    }    static {	coreElements.addElement(new Bean());    }    /*     * GetProperty     */    static final class GetProperty implements CoreElement {	private static final String OPEN_GETPROPERTY  = "<jsp:getProperty";	private static final String CLOSE_GETPROPERTY = "/>";		private static final JspUtil.ValidAttribute[] validAttributes = {	   new JspUtil.ValidAttribute("name", true),	   new JspUtil.ValidAttribute("property", true)	};	public boolean accept(ParseEventListener listener, JspReader reader, Parser parser) 	    throws JasperException 	{	    if (reader.matches(OPEN_GETPROPERTY)) {		Mark start = reader.mark();		reader.advance(OPEN_GETPROPERTY.length());		Hashtable attrs = reader.parseTagAttributes ();	        JspUtil.checkAttributes ("getProperty", attrs, validAttributes, start);		reader.skipSpaces();		if (!reader.matches(CLOSE_GETPROPERTY))		    throw new ParseException(reader.mark(),                                              Constants.getString("jsp.error.unterminated",                                                                  new Object[] { OPEN_GETPROPERTY }));		else		    reader.advance(CLOSE_GETPROPERTY.length());		Mark stop = reader.mark();		listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);				listener.handleGetProperty(start, stop, attrs);		return true;	    } else		return false;	}    }    static {	coreElements.addElement(new GetProperty());    }        /*     * SetProperty     */    static final class SetProperty implements CoreElement {	private static final String OPEN_SETPROPERTY  = "<jsp:setProperty";	private static final String CLOSE_SETPROPERTY = "/>";		private static final JspUtil.ValidAttribute[] validAttributes = {	   new JspUtil.ValidAttribute("name", true),	   new JspUtil.ValidAttribute("property", true),	   new JspUtil.ValidAttribute("value"),	   new JspUtil.ValidAttribute("param")	};	public boolean accept(ParseEventListener listener, JspReader reader, Parser parser) 	    throws JasperException 	{	    if (reader.matches(OPEN_SETPROPERTY)) {		Mark start = reader.mark();		reader.advance(OPEN_SETPROPERTY.length());		Hashtable attrs = reader.parseTagAttributes ();	        JspUtil.checkAttributes ("setProperty", attrs, validAttributes, start);		reader.skipSpaces();		if (!reader.matches(CLOSE_SETPROPERTY))		    throw new ParseException(reader.mark(),                                              Constants.getString("jsp.error.unterminated",                                                                  new Object[] { OPEN_SETPROPERTY }));		else		    reader.advance(CLOSE_SETPROPERTY.length());		Mark stop = reader.mark();		listener.setTemplateInfo(parser.tmplStart, parser.tmplStop);				listener.handleSetProperty(start, stop, attrs);		return true;	    } else		return false;	}    }

⌨️ 快捷键说明

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