1 64 65 package com.jcorporate.expresso.ext.taglib; 66 67 import com.jcorporate.expresso.core.controller.Transition; 68 69 import javax.servlet.http.HttpServletResponse ; 70 import javax.servlet.jsp.JspException ; 71 import javax.servlet.jsp.JspTagException ; 72 import javax.servlet.jsp.JspWriter ; 73 import javax.servlet.jsp.tagext.Tag ; 74 75 76 81 public class ExpressoLink 82 extends ExpressoTagSupport { 83 private Transition oneTransition = null; 84 private java.lang.String name = null; 85 private java.lang.String value = null; 86 private java.lang.String nameToUse = null; 87 private java.lang.String valueToUse = null; 88 private java.lang.String classValue = null; 89 private String href = null; 90 91 94 public ExpressoLink() { 95 super(); 96 } 97 98 103 public int doStartTag() 104 throws javax.servlet.jsp.JspTagException { 105 nameToUse = name; 106 valueToUse = value; 107 getControllerResponse(); 108 109 try { 110 Tag container = getContainer(); 111 112 if (container == null) { 113 oneTransition = ctlrResp.getTransition(nameToUse); 114 } else { 115 if (container instanceof ElementIterator) { 116 oneTransition = (Transition) ((ElementIterator) container).getElement(); 117 nameToUse = oneTransition.getName(); 118 } else if (container instanceof BlockTag) { 119 oneTransition = (Transition) ((BlockTag) container).getBlock().getContent(getName()); 120 } else { 121 throw new JspTagException ("TransitionParamsTag: cannot handle container tag" + 122 container.getClass().getName()); 123 } 124 } 125 126 JspWriter writer = pageContext.getOut(); 127 128 if (oneTransition != null) { 129 if (valueToUse == null || "".equals(valueToUse)) { 130 131 valueToUse = oneTransition.getLabel(); 134 } 135 if (valueToUse == null || "".equals(valueToUse)) { 136 137 valueToUse = "Click"; 139 } 140 141 HttpServletResponse hr = (HttpServletResponse ) pageContext.getResponse(); 146 StringBuffer buffer = new StringBuffer (); 147 if (getHref() != null) { 148 buffer.append("<a HREF="); 149 buffer.append(getHref()); 150 buffer.append(";jsessionid=" + pageContext.getSession().getId()); 151 buffer.append("?"); 152 buffer.append(oneTransition.getParamString()); 153 buffer.append(" class="); 154 buffer.append(classValue); 155 buffer.append(">"); 156 writer.print(buffer.toString()); 158 } 159 } else { 160 writer.println("The Transition Button Could Not Be Displayed"); 161 } 162 } catch (Exception e) { 163 throw new JspTagException ("ActionParamsTag: " + e.getMessage()); 164 } 165 166 return EVAL_PAGE; 167 } 168 169 170 174 public int doEndTag() throws JspException { 175 176 try { 177 StringBuffer results = new StringBuffer (); 179 JspWriter writer = pageContext.getOut(); 180 if (getHref() != null) { 181 results.append("</a>"); 182 } 183 184 writer.println(results.toString()); 185 } catch (Exception e) { 186 throw new JspTagException ("ActionParamsTag: " + e.getMessage()); 187 } 188 189 return (EVAL_PAGE); 191 192 } 193 194 195 200 public java.lang.String getName() { 201 return nameToUse; 202 } 203 204 210 public java.lang.String getValue() { 211 return valueToUse; 212 } 213 214 220 public void setName(java.lang.String newName) { 221 name = newName; 222 } 223 224 230 public void setValue(java.lang.String newValue) { 231 value = newValue; 232 } 233 234 235 public void setHref(String href) { 236 this.href = href; 237 } 238 239 public String getHref() { 240 return this.href; 241 } 242 243 public void setClassValue(String classValue) { 244 this.classValue = classValue; 245 } 246 247 public String getClassValue() { 248 return this.classValue; 249 } 250 251 } 252 253 254 | Popular Tags |