📄 util.java
字号:
return type + " " + attr + " = (float) 0.0"; } else if("String".equalsIgnoreCase(type) || "password".equalsIgnoreCase(type)) { return "String " + attr + " = \"\""; } else if("auto".equalsIgnoreCase(type)) { return "long " + attr; } else { return type + " " + attr; } } /** * Generate the code to set an Attribute to the default initial value * * @param type Description of Parameter * @param attr Description of Parameter * @return Description of the Returned Value */ public String initValue(String type, String attr) { if ("int".equals(type) || "long".equals(type) || "short".equals(type)) { return attr + " = 0"; } else if ("double".equalsIgnoreCase(type)) { return attr + " = 0.0"; } else if ("float".equalsIgnoreCase(type)) { return attr + " = (float) 0.0"; } else if ("String".equalsIgnoreCase(type) || "password".equalsIgnoreCase(type)) { return attr + " = \"\""; } else if ("auto".equalsIgnoreCase(type)) { return attr + " = 0"; } else { return attr; } } public String createDynaFormPropertyTag(Column column) { StringBuffer sb = new StringBuffer("<form-property name=\""); sb.append(column.getName()).append("\" type=\""); if(isStringType(column.getType())) { sb.append("java.lang.String\" initial=\"\"/>"); } else if(isNumberType(column.getType())) { if("auto".equals(column.getType())) { sb.append("java.lang.Long\""); } else if ("int".equals(column.getType())){ sb.append("java.lang.Integer").append("\""); } else { sb.append("java.lang." + firstUpper(column.getType())).append("\""); } sb.append(" initial=\"0\"/>"); } else if(isDateType(column.getType())) { sb.append("java.lang.String").append("\"/>"); } if ("password".equals(column.getType())) { String prop = sb.toString(); int i = column.getName().length() + 21; prop = prop.substring(0, i) + "2" + prop.substring(i); return sb.toString() + "\r\n " + prop; } else { return sb.toString(); } } /** * Generate request parameter from a column. * @param column * @return */ public String requestParam(Column column) { return requestParam(column.getName(), column.getType()); } /** * Capitalize first letter. *@param s *@return */ public String firstUpper(String s) { if(s.length() > 1) { return capitalizeFirstLetter(s); } else { return s; } } /** * Lower first letter. * @param s * @return */ public String firstLower(String s) { if(s.length() > 1) { return s.substring(0, 1).toLowerCase() + s.substring(1); } else { return s; } } /** * list Primary Key in a bean. * *@param bean *@return */ public String[] primaryKeyList(Bean bean) { Column[] pks = bean.getPrimaryKey().getColumn(); String[] pklist = new String[pks.length]; for(int i = 0; i < pks.length; i++) { pklist[i] = javaType(pks[i].getType()) + " " + pks[i].getName(); } return pklist; } /** * return array of column name in sql format. * *@param columns *@return */ public String[] sqlNames(Column[] columns) { String[] list = new String[columns.length]; for(int i = 0; i < columns.length; i++) { if(columns[i].getSqlName() == null) { list[i] = java2sqlName(columns[i].getName()); } else { list[i] = columns[i].getSqlName(); } } return list; } /** * list sql column for UPDATE operation. * *@param bean *@return */ public String[] sqlSet(Bean bean) { Attribute attr = bean.getAttribute(); if(attr != null) { Column[] ats = attr.getColumn(); String[] list = new String[ats.length]; for(int i = 0; i < list.length; i++) { if(ats[i].getSqlName() == null || "".equals(ats[i].getSqlName())) { list[i] = java2sqlName(ats[i].getName()) + "=?"; } else { list[i] = ats[i].getSqlName() + "=?"; } } return list; } else { return null; } } /** * list primary key column for UPDATE operation. * *@param bean *@return */ public String[] sqlCond(Bean bean) { Column[] pks = bean.getPrimaryKey().getColumn(); String[] list = new String[pks.length]; for(int i = 0; i < list.length; i++) { if(pks[i].getSqlName() == null || "".equals(pks[i].getSqlName())) { list[i] = java2sqlName(pks[i].getName()) + "=?"; } else { list[i] = pks[i].getSqlName() + "=?"; } } return list; } /** * Get column of type "auto" (if any) from a bean. * @param bean * @return */ public String getAutoColumn(Bean bean) { try { Column f = bean.getPrimaryKey().getColumn(0); if(f.getType().equals("auto")) { return f.getName(); } else { return null; } } catch(Exception e) { return null; } } /** * Return lenght of an array (for used by velocity template). * @param array * @return array's length */ public int arrLen(java.lang.Object array) { return Array.getLength(array); } /** * Get validation dependencies for validation.xml. * @param type * @param validation * @return */ public String getValidationDependencies(String type, Validation validation) { if(validation == null) { return ""; } ArrayList dep = new ArrayList(); if(validation.getRequired()) dep.add("required"); if(isStringType(type)) { if("email".equals(type)) { dep.add("email"); } else if("creditcard".equals(type)) { dep.add("creditCard"); } else if(validation.getMask() != null) { dep.add("mask"); } else if("password".equals(type)) { dep.add("password"); } if(validation.hasMinLength()) { dep.add("minlength"); } dep.add("maxlength"); } else if(isNumberType(type)) { if("int".equals(type)) { dep.add("integer"); } else if(!"auto".equals(type)) { dep.add(type); } if(validation.hasMin() || validation.hasMax()) { dep.add("range"); } } else if("date".equals(type)) { dep.add("date"); } String valdep = ""; if(dep.size() > 0) { for(int i = 0; i < dep.size() - 1; i++) { valdep += (String) dep.get(i) + ","; } valdep += (String) dep.get(dep.size() - 1); } return valdep; } /** * Render a Column to struts <html:component/>. * @param field * @param beanName * @return */ public String strutsField(Column field, String beanName) { String type = field.getType(); int len = 0; if(field.getValidation().hasMaxLength()) { len = field.getValidation().getMaxLength(); } else { len = 30; } StringBuffer sf = new StringBuffer(""); Value vals = field.getValue(); if(vals != null) { String widget = vals.getWidget(); String globalRefName = vals.getGlobalValueRef(); if(globalRefName != null) { Choice[] cs = (Choice[]) refs.get(vals.getGlobalValueRef()); if("select".equals(widget)) { sf.append("<html:select property=\"" + field.getName() + "\">\n"); for(int i = 0; i < cs.length; i++) { sf.append("<html:option value=\"" + cs[i].getCode() + "\">"); sf.append("<bean:message key=\"" + globalRefName + "."); sf.append(cs[i].getCode() + "\"/>" + "</html:option>\n"); } sf.append("</html:select>"); } else { for(int i = 0; i < cs.length; i++) { sf.append("<html:radio property=\"" + field.getName() + "\" value=\""); sf.append(cs[i].getCode() + "\"/>" + "<bean:message key=\""); sf.append(globalRefName + "." + cs[i].getCode() + "\"/> \n"); } } } else { Choice[] cs = field.getValue().getChoice(); if("select".equals(widget)) { sf.append("<html:select property=\"" + field.getName() + "\">\n"); for(int i = 0; i < cs.length; i++) { sf.append("<html:option value=\"" + cs[i].getCode() + "\">"); sf.append("<bean:message key=\"" + beanName + "."); sf.append(field.getName() + "." + cs[i].getCode() + "\"/>" + "</html:option>\n"); } sf.append("</html:select>"); } else { for(int i = 0; i < cs.length; i++) { sf.append("<html:radio property=\"" + field.getName()); sf.append("\" value=\"" + cs[i].getCode() + "\"/>" + "<bean:message key=\""); sf.append(beanName + "." + field.getName() + "." + cs[i].getCode() + "\"/> \n"); } } } } else if("boolean".equals(type)) { sf.append("<html:checkbox property=\"" + field.getName() + "\"/>"); } else if("string".equals(type) || "email".equals(type) || "creditcard".equals(type)) { sf.append("<html:text property=\"" + field.getName() + "\" size=\"" + len + "\"/>"); } else if("memo".equals(type)) { sf.append("<html:textarea property=\"" + field.getName() + "\"cols=\"60\" rows=\"" + 10 + "\"/>"); } else if("password".equals(type)) { sf.append("<html:password property=\"" + field.getName() + "\" size=\"" + len + "\"/>"); sf.append("<br><html:password property=\"" + field.getName() + "2\" size=\"" + len + "\"/>"); } else if("int".equals(type)) { sf.append("<html:text property=\"" + field.getName() + "\" size=\"8\"/>"); } else if("long".equals(type) || "float".equals(type) || "double".equals(type)) { sf.append("<html:text property=\"" + field.getName() + "\" size=\"16\"/>"); } else if("short".equals(type) || "byte".equals(type)) { sf.append("<html:text property=\"" + field.getName() + "\" size=\"4\"/>"); } else if("char".equals(type)) { sf.append("<html:text property=\"" + field.getName() + "\" size=\"1\"/>"); } else if("date".equals(type)) { sf.append("<html:text property=\"" + field.getName() + "\" size=\""); sf.append(dateFormat.length() + "\"/>(" + dateFormat + ")"); } else if("timestamp".equals(type)) { sf.append("<html:text property=\"" + field.getName() + "\" size=\"30\"/>"); sf.append("(yyyy-mm-dd hh:mm:ss.fffffffff)"); } return sf.toString(); } /** * SQL type mapping. * *@param type *@param nonNull *@param length *@return */ private String sqlType(String type, boolean nonNull, int length) { String sqlType; if(sqlTypeMap.containsKey(type)) { sqlType = (String) sqlTypeMap.get(type); } else if("password".equalsIgnoreCase(type)) { sqlType = (String) sqlTypeMap.get("string"); } else { sqlType = "UNKNOWN"; } if("string".equals(type) || "password".equals(type)) { sqlType += "(" + length + ")"; } if(nonNull) { sqlType += " NOT NULL"; } return sqlType; } private String requestParam(String name, String type) { type = javaType(type); String result; if("String".equals(type)) { result = "request.getParameter(\"" + name + "\")"; } else if("Timestamp".equals(type)) { result = "java.sql.Timestamp.valueOf(request.getParameter(\"" + name + "\"))"; } else if("int".equals(type)) { result = "Integer.parseInt(request.getParameter(\"" + name + "\"))"; } else { result = firstUpper(type) + ".parse" + firstUpper(type) + "(request.getParameter(\"" + name + "\"))"; } return result; } /** * Escape xml string. * @param xml * @return */ public String escapeXML(String xml) { String result = ""; for(int i = 0; i < xml.length(); i++) { switch(xml.charAt(i)) { case '<': result += "<"; break; case '>': result += ">"; break; default: result += xml.charAt(i); } } return result; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -