某些时候,需要在后台拼写好页面表单对象生成一个字符串返回到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/>
有木有很方便丫~~
分享到:
相关推荐
这里还涉及了页面布局、样式、打印表单、制表顺序、在表单中构建动作、拼写检查、文本连字符处理、超链接、翻译准备和宏的使用等主题。每个功能点都细致地指导用户如何操作,确保用户可以高效地利用Designer 11的...
17. 层中可以插入其他层、表格、表单及各种表单对象,但不能插入框架。 18. 框架由框架集和单个框架组成,框架集定义了整个框架结构,单个框架则填充内容。 19. 创建框架集可以通过插入预定义的框架集或者自行创建...
3. **创建页面对象** - 根据网页结构定义页面对象类,包含页面元素和相关方法。 4. **编写测试用例** - 在测试类中,使用页面对象的方法编写非功能测试用例,如页面加载速度测试、资源请求计数等。 5. **执行测试*...
Servlet是Java Web开发中不可或...理解并熟练掌握这些概念对于Java Web开发者来说非常重要,因为它们是构建动态网页和应用程序的基础。在面试中,能够正确解答这些问题将展示出你对Java Web开发的深入理解和实践经验。
在单页面应用中,路由变化往往伴随着视图的更新,而在某些情况下我们需要在路由变化时执行一些额外的操作。Vue.js提供了`$route`对象来表示当前激活的路由的状态信息,包括路径(path)、查询参数(query)、路由参数...
• 13.3.htm DHTML对象模型方法显示和修改网页文字内容 • 13.4.htm DHTML对象模型方法新增和删除表格行内容 • 13.5.htm W3C对象模型方法显示和修改网页内容 • 13.6.htm W3C对象...
JavaScript的主要用途是在客户端(用户浏览器)上运行,用于实现动态内容、表单验证、网页动画、数据交互等功能。它使得网页不再局限于静态展示,而是能够根据用户的操作进行实时反馈,极大地提升了用户体验。 描述...
JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript与Java代码混合在一起,以创建动态交互的网页。在这个项目中,JSP被用来实现用户登录的功能,为用户提供一个输入用户名和密码的界面。 【描述】...
在Web应用中,表单Bean(Form Bean)通常是一个Java类,它对应于HTML表单中的字段,用来存储用户在页面上填写的信息。每个字段对应Bean的一个属性,用户提交表单后,服务器端会将这些数据绑定到Bean实例上,然后进行...
11. 改变网页标题:在JavaScript中,可以使用`document.title`属性来动态改变网页的标题。选项C是正确的赋值方式。 12. 访问DOM元素:在HTML文档中,可以通过`document.forms`访问表单,`document.getElementById`...
- F7:在VBA编辑器中拼写检查。 - Ctrl + ;:插入当前日期。 - Ctrl + Shift + ::插入当前时间。 - Ctrl + ':编辑栏。 - Ctrl + -:删除选中的对象。 数据库对象操作和编辑: - F2:重命名选定的数据库对象。 - ...
通过研究这些目录中的代码,开发者可以学习到如何配置Struts的配置文件(struts-config.xml),如何创建Action类,如何定义Form Bean,以及如何使用Struts的标签库来构建动态网页。此外,还能了解到如何处理用户的...
需要注意的是,文章中提到的“document.getElementByName”在JavaScript中应该为“document.getElementsByName”,因为“get”后不应该大写,这是一个拼写错误。在实际使用中,应确保使用正确的函数名。 通过上述...
表单事件属性如`onchange`在元素值改变时运行脚本,`onsubmit`在表单提交时触发。键盘事件属性如`onkeydown`、`onkeyup`和`onkeypress`分别在按键按下、释放和敲击时执行脚本。鼠标事件属性包括`onclick`、`...
在本文中,我们将深入探讨“前端项目-jquery-spellchecker.zip”,这是一个基于jQuery的轻量级插件,专为前端开发者设计,用于检测HTML表单字段或文档对象模型(DOM)中的文本拼写错误。这个插件对于创建用户体验...