`
hekuilove
  • 浏览: 156522 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

动态拼写页面表单对象

阅读更多
某些时候,需要在后台拼写好页面表单对象生成一个字符串返回到JSP,然后通过直接在页面生成对象。如
String s="<input type=\"input\" name=\"name\" />";

把该字符串返回到页面通过${s}在页面生成了一个文本框。
为此俺写了一个简单的工具类 ,动态拼写表单,(都是一些无技术含量的代码,不喜勿喷 )

public abstract class StringUtils extends org.apache.commons.lang.StringUtils {
    /**
     * @author Quinn He
     * @date 2012-10-10 16:41:55<br>
     * @content 拼接页面表单对象<br>
     *          例如:<input type="text" /><br>
     *          <lable>哎哎哎</label>等
     * 
     * @param name
     *                标签名,如<label></label>标签<br>
     *                name为:label
     * @param properties
     *                表单属性<br>
     *                如<input name="abc" /> key为字符串name,value为字符串abc<br>
     *                如有多个,如:<input name="abc" id="efg"
     *                />,properties的size为2,key分别为name,id,value分别为abc,efg
     * @param isDouble
     *                是否有结束标签<br>
     *                true为有、false为无结束表情<br>
     *                如:<input />为false、<a></a>为true
     * @param content
     *                标签的内容,如<span>ABC</span>中的'ABC'
     * @return
     */
    protected synchronized static String dynamicCreateFormObj(final String name,  final Map<String, String> properties, final boolean isDouble, final String content) {
	final StringBuffer result = new StringBuffer();
	final StringBuffer startElement = new StringBuffer("<").append(name);
	if (properties != null)// 判断是否有属性
	    for (Map.Entry<String, String> entry : properties.entrySet()) {
		// 填写属性
		startElement
		.append(" ")
		.append(entry.getKey())
		.append("=")
		.append("\\\"")
		.append(entry.getValue())
		.append("\\\"");
	    }
	if (isDouble) { // 判断是否有结束标签
	    final StringBuffer endElement = new StringBuffer("<").append(name) .append("/>");
	    startElement.append(" >");
	    result.append(startElement)
	    .append(content)
	    .append(endElement);
	} else {
	    startElement.append(" />");
	    result.append(startElement);
	}
	return result.toString();
    }
}


俺要生成一个文本框
	Map<String, String> spanProperties = new HashMap<String, String>();
	spanProperties.put("id", "hehe");
	System.out.println(StringUtils.dynamicCreateFormObj("input", spanProperties, false, null));
 //打印结果<input id=\"hehe\" />


如果俺要生成多个
	Map<String, String> spanProperties = new HashMap<String, String>();
	Map<String, String> aProperties = new HashMap<String, String>();
	aProperties.put("href", "${basePath}abc_efg.action");
	String a = StringUtils.dynamicCreateFormObj("a", aProperties, true, "abcefg");
	System.out.println(StringUtils.dynamicCreateFormObj("span", spanProperties, true, a));
 //打印结果 <span ><a href=\"${basePath}abc_efg.action\" >abcefg<a/><span/>



有木有很方便丫~~ 
分享到:
评论

相关推荐

    精通javascript

    • 13.3.htm DHTML对象模型方法显示和修改网页文字内容 • 13.4.htm DHTML对象模型方法新增和删除表格行内容 • 13.5.htm W3C对象模型方法显示和修改网页内容 • 13.6.htm W3C对象...

    精通JavaScript

    • 13.3.htm DHTML对象模型方法显示和修改网页文字内容 • 13.4.htm DHTML对象模型方法新增和删除表格行内容 • 13.5.htm W3C对象模型方法显示和修改网页内容 • 13.6.htm W3C对象...

    ComponentOneStudio_2013v1.part04.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part03.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part07.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part06.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part05.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part01.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part08.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part02.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    ComponentOneStudio_2013v1.part09.rar

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    LearnGlish:我的CS50最终项目

    JavaScript(JQuery) -被用作快速和动态访问程序对象并从服务器检索数据而无需重新加载页面的附加工具。 Bootstrap-功能强大的工具,可用于视觉组件的现成解决方案。 该项目使用了表单,按钮,导航面板等组件,...

    ComponentOne Studio For ActiveX 2010 Vol1 cracked

    为动态服务器页(ASP)创建独立于浏览器的动态表单。 True WebChart是一个企业图表工具,允许您开发图表或图形,并作为JPEG或PNG文件应用于任何浏览器。 你还可以将表单用作ActiveX控件,以便让最终用户对图表样式和...

    Servlet上传页面图片 并存入Mysql数据库

    读取过程 硬盘文件项工厂 Servlet文件上传 文件项迭代器 文件项流 输入流 连接数据库 加载驱动类 获取connection对象 拼写预处理语句,生成预处理 对象preparedStatement 执行  package Servlet;  import java....

    JAVA上百实例源码以及开源项目

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

Global site tag (gtag.js) - Google Analytics