1 16 package com.blandware.atleap.webapp.taglib.core.content; 17 18 import com.blandware.atleap.common.util.StringUtil; 19 import com.blandware.atleap.webapp.util.core.WebappUtil; 20 import org.apache.commons.logging.Log; 21 import org.apache.commons.logging.LogFactory; 22 import org.apache.struts.taglib.TagUtils; 23 import org.apache.struts.util.RequestUtils; 24 25 import javax.servlet.http.HttpServletRequest ; 26 import javax.servlet.jsp.JspException ; 27 import javax.servlet.jsp.PageContext ; 28 import javax.servlet.jsp.tagext.SimpleTagSupport ; 29 import java.util.Locale ; 30 import java.util.Map ; 31 32 94 public class FieldValueTag extends SimpleTagSupport { 95 96 protected transient final Log log = LogFactory.getLog(FieldValueTag.class); 97 98 101 protected Map valueMap; 102 103 106 protected String language; 107 108 113 protected Boolean complexSearch = Boolean.FALSE; 114 115 118 protected Boolean filter = Boolean.TRUE; 119 120 123 protected String var; 124 125 128 protected String scope; 129 130 139 public Map getValueMap() { 140 return valueMap; 141 } 142 143 148 public void setValueMap(Map valueMap) { 149 this.valueMap = valueMap; 150 } 151 152 161 public String getLanguage() { 162 return language; 163 } 164 165 170 public void setLanguage(String language) { 171 this.language = language; 172 } 173 174 184 public Boolean getComplexSearch() { 185 return complexSearch; 186 } 187 188 194 public void setComplexSearch(Boolean complexSearch) { 195 this.complexSearch = complexSearch; 196 } 197 198 208 public Boolean getFilter() { 209 return filter; 210 } 211 212 218 public void setFilter(Boolean filter) { 219 this.filter = filter; 220 } 221 222 231 public String getVar() { 232 return var; 233 } 234 235 240 public void setVar(String var) { 241 this.var = var; 242 } 243 244 253 public String getScope() { 254 return scope; 255 } 256 257 262 public void setScope(String scope) { 263 this.scope = scope; 264 } 265 266 271 public void doTag() throws JspException { 272 273 PageContext pageContext = (PageContext ) getJspContext(); 274 HttpServletRequest request = (HttpServletRequest ) pageContext.getRequest(); 275 276 if ( language == null ) { 277 Locale locale = RequestUtils.getUserLocale(request, null); 278 if ( locale == null ) { 279 locale = Locale.getDefault(); 280 } 281 language = locale.getLanguage(); 282 } 283 284 if ( complexSearch == null ) { 285 complexSearch = Boolean.FALSE; 286 } 287 288 if ( filter == null ) { 289 filter = Boolean.TRUE; 290 } 291 292 String fieldValue = WebappUtil.getFieldValue(valueMap, language, (HttpServletRequest ) pageContext.getRequest(), !complexSearch.booleanValue()); 293 294 if ( fieldValue == null ) { 295 fieldValue = new String (); 296 } 297 298 if ( filter.booleanValue() ) { 299 fieldValue = StringUtil.htmlEncode(fieldValue); 300 } 301 302 TagUtils tagUtils = TagUtils.getInstance(); 303 if ( var != null ) { 304 int varScope = PageContext.PAGE_SCOPE; 306 if ( scope != null ) { 307 varScope = tagUtils.getScope(scope); 308 } 309 pageContext.setAttribute(var, fieldValue, varScope); 310 311 } else { 312 tagUtils.write(pageContext, fieldValue); 314 } 315 316 } 317 318 } 319 | Popular Tags |