1 package fr.improve.struts.taglib.layout; 2 3 import javax.servlet.jsp.JspException ; 4 import javax.servlet.jsp.JspWriter ; 5 import javax.servlet.jsp.PageContext ; 6 7 import fr.improve.struts.taglib.layout.util.NestedHelper; 8 import fr.improve.struts.taglib.layout.util.TagUtils; 9 10 19 public abstract class BaseHandlerTag extends org.apache.struts.taglib.html.BaseHandlerTag implements LayoutTag { 20 protected String reqCode; 21 protected String value; 22 protected org.apache.struts.taglib.html.BaseHandlerTag tag; 23 24 protected String selectCode; 25 protected String selectName = org.apache.struts.taglib.html.Constants.BEAN_KEY; 26 protected String selectProperty; 27 28 public int doAfterBody() throws JspException { 29 tag.setBodyContent(bodyContent); 30 return tag.doAfterBody(); 31 } 32 public PageContext getPageContext() { 33 return pageContext; 34 } 35 public JspWriter getPreviousOut() { 36 if (bodyContent!=null) return super.getPreviousOut(); 37 return null; 38 } 39 public String getReqCode() { 40 return reqCode; 41 } 42 protected String getRequestCode() throws JspException { 43 try { 45 String parameter = FormTag.computeActionParameter(pageContext); 46 StringBuffer buffer = new StringBuffer (); 47 if (parameter != null && reqCode != null) { 48 buffer.append("this.form.elements['"); 49 buffer.append(NestedHelper.getAdjustedProperty(parameter, pageContext)); 50 buffer.append("'].value='"); 51 buffer.append(reqCode); 52 buffer.append("'"); 53 } 54 if (selectCode!=null) { 55 buffer.append(";this.form."); 56 buffer.append(selectCode); 57 buffer.append(".value='"); 58 buffer.append(fr.improve.struts.taglib.layout.util.LayoutUtils.getBeanFromPageContext(pageContext, selectName, selectProperty)); 59 buffer.append("'"); 60 } 61 return buffer.toString(); 62 } catch (Exception e) { 63 if (reqCode!=null) { 64 JspException jspe = new JspException ("BaseHandlerTag - cannot acces the DispatchAction parameter: " + e.getMessage() + "(" + e.getClass().getName() + ")"); 65 TagUtils.saveException(pageContext, jspe); 66 throw jspe; 67 } 68 } 69 return ""; 70 } 71 76 public java.lang.String getSelectCode() { 77 return selectCode; 78 } 79 84 public java.lang.String getSelectName() { 85 return selectName; 86 } 87 92 public java.lang.String getSelectProperty() { 93 return selectProperty; 94 } 95 public String getValue() { 96 return value; 97 } 98 public void release() { 99 super.release(); 100 reqCode = null; 101 value = null; 102 103 selectCode = null; 104 selectName = org.apache.struts.taglib.html.Constants.BEAN_KEY; 105 selectProperty = null; 106 } 107 110 public void setReqCode(String reqCode) { 111 this.reqCode = reqCode; 112 } 113 118 public void setSelectCode(java.lang.String newSelectCode) { 119 selectCode = newSelectCode; 120 } 121 126 public void setSelectName(java.lang.String newSelectName) { 127 selectName = newSelectName; 128 } 129 134 public void setSelectProperty(java.lang.String newSelectProperty) { 135 selectProperty = newSelectProperty; 136 } 137 public void setValue(String value) { 138 this.value = value; 139 } 140 } 141 | Popular Tags |