1 24 package org.ofbiz.webapp.pseudotag; 25 26 import java.io.IOException ; 27 import java.util.Map ; 28 import javax.servlet.jsp.PageContext ; 29 30 import org.ofbiz.base.util.UtilFormatOut; 31 import org.ofbiz.entity.GenericValue; 32 33 44 public class InputValue { 45 46 PageContext pageContextInternal = null; 47 48 public InputValue(PageContext pageContextInternal) { 49 this.pageContextInternal = pageContextInternal; 50 } 51 52 public void run(String field, String entityAttr) 53 throws IOException { 54 run(field, null, entityAttr, null, null, null, pageContextInternal); 55 } 56 57 public void run(String field, String entityAttr, String tryEntityAttr) 58 throws IOException { 59 run(field, null, entityAttr, tryEntityAttr, null, null, pageContextInternal); 60 } 61 62 public void run(String field, String entityAttr, String tryEntityAttr, 63 String fullattrsStr) throws IOException { 64 run(field, null, entityAttr, tryEntityAttr, null, fullattrsStr, pageContextInternal); 65 } 66 67 68 public void run(String field, String param, String entityAttr, String tryEntityAttr, 69 String defaultStr, String fullattrsStr) throws IOException { 70 run(field, param, entityAttr, tryEntityAttr, defaultStr, fullattrsStr, pageContextInternal); 71 } 72 73 74 75 public static void run(String field, String entityAttr, 76 PageContext pageContext) throws IOException { 77 run(field, null, entityAttr, null, null, null, pageContext); 78 } 79 80 public static void run(String field, String entityAttr, String tryEntityAttr, 81 PageContext pageContext) throws IOException { 82 run(field, null, entityAttr, tryEntityAttr, null, null, pageContext); 83 } 84 85 public static void run(String field, String entityAttr, String tryEntityAttr, 86 String fullattrsStr, PageContext pageContext) throws IOException { 87 run(field, null, entityAttr, tryEntityAttr, null, fullattrsStr, pageContext); 88 } 89 90 91 public static void run(String field, String param, String entityAttr, String tryEntityAttr, 92 String defaultStr, String fullattrsStr, PageContext pageContext) throws IOException { 93 if (field == null || entityAttr == null || pageContext == null) { 94 throw new RuntimeException ("Required parameter (field or entityAttr or pageContext) missing"); 95 } 96 97 if (defaultStr == null) defaultStr = ""; 98 String inputValue = null; 99 boolean tryEntity = true; 100 boolean fullattrs = false; 101 102 String paramName = param; 103 104 if (paramName == null || paramName.length() == 0) 105 paramName = field; 106 107 Boolean tempBool = null; 108 109 if (tryEntityAttr != null) 110 tempBool = (Boolean ) pageContext.findAttribute(tryEntityAttr); 111 if (tempBool != null) 112 tryEntity = tempBool.booleanValue(); 113 114 fullattrs = "true".equals(fullattrsStr); 116 117 if (tryEntity) { 118 Object entTemp = pageContext.findAttribute(entityAttr); 119 120 if (entTemp != null) { 121 if (entTemp instanceof GenericValue) { 122 GenericValue entity = (GenericValue) entTemp; 123 Object fieldVal = entity.get(field); 124 125 if (fieldVal != null) 126 inputValue = fieldVal.toString(); 127 } else if (entTemp instanceof Map ) { 128 Map map = (Map ) entTemp; 129 Object fieldVal = map.get(field); 130 131 if (fieldVal != null) 132 inputValue = fieldVal.toString(); 133 } } 135 } else { 136 inputValue = pageContext.getRequest().getParameter(paramName); 142 } 143 144 if (inputValue == null || inputValue.length() == 0) 145 inputValue = defaultStr; 146 147 if (fullattrs) { 148 inputValue = UtilFormatOut.replaceString(inputValue, "\"", """); 149 pageContext.getOut().print("name=\"" + paramName + "\" value=\"" + 150 inputValue + "\""); 151 } else { 152 pageContext.getOut().print(inputValue); 153 } 154 } 155 } 156 | Popular Tags |