我感觉 nested 标签就是把表单直接对应到一个业务类对象,在FORM类中定义这个业务类对象就可,这个标签用起来也不难,而且还挺好用,
比如说有个 表单类PersonForm,业务类Person,在PersonForm中定义 Person person=new Person(); 注意这里用new分配空间,不能只是这样 Person person; 在Person类中定义 private String name; private String sex;
那么在.jsp中表单部分如下:
java 代码
-
-
<html:form action="PersonAction">
-
<nested:nest property="person>
-
name: <nested:text property="name"/><br/>
-
sex: <nested:text property="sex" /><br/>
-
</nested:nest>
-
<html:submit/>
-
</html:form>
-
其中 <nested:nest> 理解就是定义一个类层次,它也可以嵌套使用,当业务类中还包含其他业务类时就可以使用它的嵌套,当使用嵌套时如果想显式知道嵌套的层次可以利用nested 标签的 <nested:writeNesting> 标签进行输出。比如现在我们再加一个业务类 Address ,类中数据元素为: private String country; private String province; 然后在 业务类 Person 中加上 private Address add=new Address(); 结合<nested:writeNesting> 后的.jsp 为:
java 代码
-
-
<html:form action="/PersonAction">
-
<nested:nest property="person">
-
<nested:message key="use_nested.jsp.form.name"/><nested:text property="name" size="18"/><br/>
-
<nested:message key="use_nested.jsp.form.sex"/><nested:text property="sex" size="18" /><br/>
-
<br/>
-
<nested:nest property="add">
-
current nesting is: <nested:writeNesting/><br/>
-
<nested:message key="use_nested.jsp.form.country"/><nested:text property="country" size="18"/><br/>
-
<nested:message key="use_nested.jsp.form.province"/><nested:text property="province" size="18"/><br/>
-
</nested:nest>
-
</nested:nest>
-
<html:submit><bean:message key="use_nested.jsp.form.submit"/></html:submit>
-
</html:form>
-
其中 <nested:writeNesting/> 出会输出 person.add 表明当前类层次
当你输出表单数据时 还可以定义一个顶层级别的 javaBean,这时候就利用 nested 的 <nested:root> 标签,比如要输出上个表单元素时,顶层级别就是 PersonForm ,其他则与上面是一样,如下:
java 代码
-
-
<jsp:useBean id="PersonForm" type="nestedtag.PersonForm" scope="request" />
-
<nested:root name="PersonForm">
-
<nested:nest property="person">
-
<nested:message key="use_nested.jsp.form.name"/><nested:write property="name"/><br/>
-
<nested:message key="use_nested.jsp.form.sex" /><nested:write property="sex"/><br/>
-
<nested:nest property="add">
-
<nested:message key="use_nested.jsp.form.country"/><nested:write property="country"/><br/>
-
<nested:message key="use_nested.jsp.form.province"/><nested:write property="province"/><br/>
-
</nested:nest>
-
</nested:nest>
-
</nested:root>
-
nested 的其他子标签则与 html子标签和 bean子标签的功能类似,就不用介绍了。
最后说明的是,利用nest 实现的功能也可以不用 nest 实现,只不过写 property 是把完整的属性路径写全就行了,因为比较简单看了下面的代码就明白了,
java 代码
-
-
<html:form action="/PersonAction">
-
<bean:message key="use_nested.jsp.form.name"/><html:text property="person.name" size="18"/><br/>
-
<bean:message key="use_nested.jsp.form.sex"/><html:text property="person.sex" size="18" /><br/>
-
<br/>
-
<bean:message key="use_nested.jsp.form.country"/><html:text property="person.add.country" size="18"/><br/>
-
<bean:message key="use_nested.jsp.form.province"/><html:text property="person.add.province" size="18"/><br/>
-
<html:submit><bean:message key="use_nested.jsp.form.submit"/></html:submit>
-
</html:form>
-
分享到:
相关推荐
Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...
Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:Bean Tags、HTML Tags、Logic Tags、Nested Tags 和 Tiles Tags。下面将对前三个标签库中的标签进行详细的介绍。 Bean Tags Bean Tags...
在Struts中,HTML标签库是一个非常重要的组成部分,它帮助开发者生成与Struts框架和其他HTML标签交互的输入表单。本文将深入探讨Struts的HTML标签库,以及它所提供的各种标签及其用途。 首先,我们了解Struts提供的...
在本篇文章中,我们将深入探讨Struts2框架中的`doubleselect`标签的使用方法,并结合一个具体的示例来展示如何将此标签与Hibernate和Spring框架整合在一起,以便于更好地理解和运用这一技术。 ### Struts2框架简介 ...
4. `struts-nested.tld`:Nested标签库,用于处理嵌套属性,通常与Tiles框架一起使用,使得在JSP页面中可以方便地访问多层嵌套的Bean属性。 了解这些标签库后,开发人员可以更高效地构建视图层,减少Java代码在JSP...
Nested库增强了其他Struts标签的嵌套功能,使得在复杂结构的数据模型中使用标签更加方便。例如,可以嵌套`<nested:property>`来处理多层属性的访问。 在使用Struts1标签时,有几个共同的特性需要注意,比如`...
7. **servlet标签**:这些标签可以直接调用Servlet,如`<servlet:forward>`和`servlet:include>`,但通常不推荐在现代的Struts应用中使用,因为它们破坏了MVC模式。 8. **html:link**和**html:button**:这两个标签...
struts2标签和解释及其说明 嘿嘿其实就是那个下载人数最多的那个的东西..他要10分啊..太心黑了..呵呵我借鉴哈和你们一起分享哈!但是我花了10分不能不挣回来吧!大家一人补偿我点就好了!.......一起学习!
Struts 1.1引入了Nested Tag,使得在JSP中处理嵌套对象变得更加简单。随着时间的推移,Struts框架不断演进,后续版本增加了更多功能和改进,如Struts 2引入了更强大的标签库和拦截器机制,以及更灵活的配置方式。 ...
Struts标签库是Java Web开发中的重要组成部分,尤其在基于MVC框架的Struts应用中,它极大地简化了视图层的开发工作。本项目主要关注的是Struts的四个核心标签库:HTML、Bean、Logic以及Nested,这些库提供了丰富的...
Struts 1中的标签库是该框架的核心部分之一,它为Web页面的显示层提供了丰富的标签支持,简化了JSP页面的开发。 1. 标签库概述: Struts 1的标签库由五个主要的标签库组成,分别是HTML、Bean、Logic、Template和...
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 HTML 标签 : 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 ...Nested标签: 增强对其他的Struts 标签的嵌套使用的能力
5. **struts-nested标签**:这个标签库允许在嵌套的对象模型中使用JSP标准标签库(JSTL)和Struts标签。例如,`<nested:property>`允许你在复杂对象结构中引用属性。 6. **Struts-EL标签**:自Struts 2引入以来,...
- **nested标签**:提供增强的嵌套能力,使其他Struts标签能在复杂的数据结构中工作。 2. **Struts标签的公共特征**: - **自动区分范围**:标签在查找对象时会自动遍历页面、请求、会话和应用程序范围。 - **...
这个库使得在Struts1中处理层次结构的数据变得更加简单。 以上五大标签库共同构成了Struts1强大的视图层工具集,它们使得开发者能够更专注于业务逻辑,而不是繁琐的HTML和JavaScript代码。在实际项目中,结合使用...
Struts是一个流行的Java web开发框架,它简化了MVC(模型-视图-控制器)架构的实现。在Struts框架中,HTML标签库是...在实际开发中,结合使用Struts标签库和其他JavaServer Pages的JSTL标签,可以进一步提升代码质量。
三、在Struts中使用标签的步骤 1. 引入标签库:在JSP页面中通过`<%@ taglib %>`指令引入所需的Struts标签库,例如`<%@ taglib prefix="html" uri="/tags/html" %>`引入`html`标签库。 2. 配置标签库:在Struts配置...
本文将详细讲解Struts中的Bean Tags、HTML Tags和Logic Tags的使用方法。 首先,Bean Tags 主要用于创建、访问和操作Bean以及Bean的属性。例如,`<bean:cookie>`标签可以用来获取请求中的Cookie信息,并将其转换为...