1 18 package org.apache.struts.taglib.nested.html; 19 20 import javax.servlet.http.HttpServletRequest ; 21 import javax.servlet.jsp.JspException ; 22 23 import org.apache.struts.taglib.html.FormTag; 24 import org.apache.struts.taglib.nested.NestedNameSupport; 25 import org.apache.struts.taglib.nested.NestedPropertyHelper; 26 27 32 public class NestedFormTag extends FormTag implements NestedNameSupport { 33 34 35 41 protected String name = null; 42 43 46 public String getName() { 47 48 return (this.name); 49 50 } 51 52 57 public void setName(String name) { 58 59 this.name = name; 60 61 } 62 63 64 68 public String getProperty() { 69 return ""; 70 } 71 72 76 public void setProperty(String newProperty) {} 77 78 79 84 public int doStartTag() throws JspException { 85 int temp = super.doStartTag(); 87 88 HttpServletRequest request = (HttpServletRequest )pageContext.getRequest(); 89 originalNesting = NestedPropertyHelper.getCurrentProperty(request); 91 originalNestingName = NestedPropertyHelper.getCurrentName(request, this); 92 93 NestedPropertyHelper.setProperty(request, null); 95 NestedPropertyHelper.setName(request, super.getBeanName()); 96 97 return temp; 99 } 100 101 105 public int doEndTag() throws JspException { 106 int temp = super.doEndTag(); 108 109 HttpServletRequest request = (HttpServletRequest )pageContext.getRequest(); 111 if (originalNesting == null) { 113 NestedPropertyHelper.deleteReference(request); 114 } else { 115 NestedPropertyHelper.setProperty(request, originalNesting); 116 NestedPropertyHelper.setName(request, originalNestingName); 117 } 118 119 return temp; 121 } 122 123 126 public void release() { 127 super.release(); 129 originalNesting = null; 131 originalNestingName = null; 132 } 133 134 private String originalNesting = null; 136 private String originalNestingName = null; 137 } 138 | Popular Tags |