1 18 package org.apache.beehive.netui.tags.databinding.pageinput; 19 20 import java.util.Map ; 21 import javax.servlet.jsp.JspException ; 22 import javax.servlet.jsp.PageContext ; 23 import javax.servlet.http.HttpServletRequest ; 24 25 import org.apache.beehive.netui.pageflow.internal.InternalUtils; 26 import org.apache.beehive.netui.util.Bundle; 27 import org.apache.beehive.netui.util.logging.Logger; 28 import org.apache.beehive.netui.tags.AbstractSimpleTag; 29 30 99 public class DeclarePageInput 100 extends AbstractSimpleTag { 101 102 private static final Logger LOGGER = Logger.getInstance(DeclarePageInput.class); 103 private static final String EMPTY_STRING = ""; 104 105 private String _type = null; 106 private String _name = null; 107 private boolean _required = true; 108 109 115 public String getTagName() { 116 return "DeclarePageInput"; 117 } 118 119 128 public void setName(String name) { 129 _name = name; 130 } 131 132 143 public void setRequired(boolean required) { 144 _required = required; 145 } 146 147 156 public void setType(String type) { 157 _type = type; 158 } 159 160 163 public void doTag() 164 throws JspException { 165 166 LOGGER.debug("Added a page input named \"" + _name + "\" of type \"" + _type + "\""); 167 168 if(_name.equals(EMPTY_STRING)) { 169 String msg = Bundle.getErrorString("Tags_DeclarePageInput_EmptyName"); 170 registerTagError(msg, null); 171 } 172 173 if(_type.equals(EMPTY_STRING)) { 174 String msg = Bundle.getErrorString("Tags_DeclarePageInput_EmptyType"); 175 registerTagError(msg, null); 176 } 177 178 if(_required) { 179 assert getJspContext() instanceof PageContext ; 180 assert ((PageContext )getJspContext()).getRequest() instanceof HttpServletRequest ; 181 182 HttpServletRequest request = (HttpServletRequest )((PageContext )getJspContext()).getRequest(); 183 Map actionOutputMap = InternalUtils.getPageInputMap(request); 184 if(actionOutputMap == null || !actionOutputMap.containsKey(_name)) { 185 String msg = Bundle.getErrorString("Tags_DeclarePageInput_Required", new Object []{_name}); 186 registerTagError(msg, null); 187 } 188 } 189 190 if(hasErrors()) 191 reportErrors(); 192 } 193 } 194 | Popular Tags |