`
hekuilove
  • 浏览: 158926 次
  • 性别: 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/>



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

相关推荐

    livecycle designer_11_help.pdf

    这里还涉及了页面布局、样式、打印表单、制表顺序、在表单中构建动作、拼写检查、文本连字符处理、超链接、翻译准备和宏的使用等主题。每个功能点都细致地指导用户如何操作,确保用户可以高效地利用Designer 11的...

    Dreamweaver网页设计复习题.doc

    17. 层中可以插入其他层、表格、表单及各种表单对象,但不能插入框架。 18. 框架由框架集和单个框架组成,框架集定义了整个框架结构,单个框架则填充内容。 19. 创建框架集可以通过插入预定义的框架集或者自行创建...

    ZRPages:通过 webdriver 的页面对象的非功能测试框架

    3. **创建页面对象** - 根据网页结构定义页面对象类,包含页面元素和相关方法。 4. **编写测试用例** - 在测试类中,使用页面对象的方法编写非功能测试用例,如页面加载速度测试、资源请求计数等。 5. **执行测试*...

    Servlet面试题 – Java Web开发面试题.doc

    Servlet是Java Web开发中不可或...理解并熟练掌握这些概念对于Java Web开发者来说非常重要,因为它们是构建动态网页和应用程序的基础。在面试中,能够正确解答这些问题将展示出你对Java Web开发的深入理解和实践经验。

    使用watch监听路由变化和watch监听对象的实例

    在单页面应用中,路由变化往往伴随着视图的更新,而在某些情况下我们需要在路由变化时执行一些额外的操作。Vue.js提供了`$route`对象来表示当前激活的路由的状态信息,包括路径(path)、查询参数(query)、路由参数...

    精通javascript

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

    jvascrit开发

    JavaScript的主要用途是在客户端(用户浏览器)上运行,用于实现动态内容、表单验证、网页动画、数据交互等功能。它使得网页不再局限于静态展示,而是能够根据用户的操作进行实时反馈,极大地提升了用户体验。 描述...

    jsp做的网上登陆界面

    JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript与Java代码混合在一起,以创建动态交互的网页。在这个项目中,JSP被用来实现用户登录的功能,为用户提供一个输入用户名和密码的界面。 【描述】...

    FormBeanUtil

    在Web应用中,表单Bean(Form Bean)通常是一个Java类,它对应于HTML表单中的字段,用来存储用户在页面上填写的信息。每个字段对应Bean的一个属性,用户提交表单后,服务器端会将这些数据绑定到Bean实例上,然后进行...

    Javascript考试题目选择题.doc

    11. 改变网页标题:在JavaScript中,可以使用`document.title`属性来动态改变网页的标题。选项C是正确的赋值方式。 12. 访问DOM元素:在HTML文档中,可以通过`document.forms`访问表单,`document.getElementById`...

    Access2010的快捷键.pdf

    - F7:在VBA编辑器中拼写检查。 - Ctrl + ;:插入当前日期。 - Ctrl + Shift + ::插入当前时间。 - Ctrl + ':编辑栏。 - Ctrl + -:删除选中的对象。 数据库对象操作和编辑: - F2:重命名选定的数据库对象。 - ...

    精通struts基于MVC的java web设计与开发(代码二).rar

    通过研究这些目录中的代码,开发者可以学习到如何配置Struts的配置文件(struts-config.xml),如何创建Action类,如何定义Form Bean,以及如何使用Struts的标签库来构建动态网页。此外,还能了解到如何处理用户的...

    原生JS实现表单checkbook获取已选择的值

    需要注意的是,文章中提到的“document.getElementByName”在JavaScript中应该为“document.getElementsByName”,因为“get”后不应该大写,这是一个拼写错误。在实际使用中,应确保使用正确的函数名。 通过上述...

    计算机病毒与防护:HTML语言下.ppt

    表单事件属性如`onchange`在元素值改变时运行脚本,`onsubmit`在表单提交时触发。键盘事件属性如`onkeydown`、`onkeyup`和`onkeypress`分别在按键按下、释放和敲击时执行脚本。鼠标事件属性包括`onclick`、`...

    前端项目-jquery-spellchecker.zip

    在本文中,我们将深入探讨“前端项目-jquery-spellchecker.zip”,这是一个基于jQuery的轻量级插件,专为前端开发者设计,用于检测HTML表单字段或文档对象模型(DOM)中的文本拼写错误。这个插件对于创建用户体验...

Global site tag (gtag.js) - Google Analytics