1 16 17 package org.apache.taglibs.xtags.xpath; 18 19 import java.io.IOException ; 20 import java.util.Iterator ; 21 import java.util.List ; 22 23 import javax.servlet.ServletContext ; 24 import javax.servlet.jsp.JspException ; 25 import javax.servlet.jsp.JspWriter ; 26 import javax.servlet.jsp.PageContext ; 27 import javax.servlet.jsp.tagext.TagSupport ; 28 29 import org.dom4j.Node; 30 import org.dom4j.XPath; 31 import org.dom4j.DocumentHelper; 32 import org.dom4j.rule.Action; 33 import org.dom4j.rule.Pattern; 34 import org.dom4j.rule.Rule; 35 import org.dom4j.rule.RuleManager; 36 import org.dom4j.rule.pattern.DefaultPattern; 37 38 42 public class JspAction implements Action { 43 44 45 private String jsp; 46 47 48 private PageContext pageContext; 49 50 51 public JspAction() { 52 } 53 54 public JspAction(PageContext pageContext, String jsp) { 55 this.pageContext = pageContext; 56 this.jsp = jsp; 57 } 58 59 60 63 public String getJsp() { 64 return jsp; 65 } 66 67 70 public void setJsp(String jsp) { 71 this.jsp = jsp; 72 } 73 74 77 public PageContext getPageContext() { 78 return pageContext; 79 } 80 81 84 public void setPageContext(PageContext pageContext) { 85 this.pageContext = pageContext; 86 } 87 88 89 90 public void run( Node node ) throws Exception { 93 if ( pageContext == null ) { 94 throw new JspException ( "No PageContext. Cannot process JSP: " + jsp ); 95 } 96 else 97 if ( jsp == null ) { 98 throw new JspException ( "No JSP! Cannot execute Action" ); 99 } 100 else { 101 Object oldContext = TagHelper.getInputNodes( pageContext ); 102 TagHelper.setInputNodes( pageContext, node ); 103 104 pageContext.include( jsp ); 105 pageContext.getOut().flush(); 106 107 TagHelper.setInputNodes( pageContext, oldContext ); 108 } 109 } 110 } 111 | Popular Tags |