我感觉 nested 标签就是把表单直接对应到一个业务类对象,在FORM类中定义这个业务类对象就可,这个标签用起来也不难,而且还挺好用,比如说有个 表单类PersonForm,业务类Person,在PersonForm中定义 Person person=new Person(); 注意这里用new分配空间,不能只是这样Person person;
在Person类中定义 private String name; private String sex;
那么在.jsp中表单部分如下:
- //其他代码
- <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/>
- nested:nest>
- <html:submit>
- <bean:message key="use_nested.jsp.form.submit"/>
- html:submit>
- html:form>
- //其他代码
其中 理解就是定义一个类层次,它也可以嵌套使用,当业务类中还包含其他业务类时就可以使用它的嵌套,当使用嵌套时如果想显式知道嵌套的层次可以利用nested 标签的 nested:writeNesting 标签进行输出。比如现在我们再加一个业务类 Address ,类中数据元素为:private String country; private String province;
然后在 业务类 Person 中加上 private Address add=new Address();
结合 nested:writeNesting 后的.jsp 为:
xml 代码
- ///其他代码
- <html:form action="/PersonAction">
- <nested:nest property="person">
- <nested:message key="use_nested.jsp.form.currentNesting"/>
- <nested:writeNesting/><br/>
- <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/>
-
- <nested:nest property="add">
- <nested:message key="use_nested.jsp.form.currentNesting"/>
- <nested:writeNesting/>
- <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 ,其他则与上面是一样,如下:
xml 代码
- //其他代码
- <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 是把完整的属性路径写全就行了,因为比较简单看了下面的代码就明白了
xml 代码
- //其他代码
- <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/>
-
- <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>
- //其他代码
分享到:
- 2006-12-21 13:30
- 浏览 10385
- 评论(1)
- 论坛回复 / 浏览 (1 / 4825)
- 查看更多
相关推荐
Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...
Struts1 标签库是 Apache Jakarta 的一个著名的开源项目,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:Bean Tags、HTML Tags、...
5. **Nested标签库**:这个库增强了其他Struts标签的嵌套能力,使得在复杂表单和布局中使用Struts标签更加方便。 Struts标签库的一个重要特性是它们支持属性的嵌套引用,这意味着可以使用`.`来访问对象的深层属性,...
4. `struts-nested.tld`:Nested标签库,用于处理嵌套属性,通常与Tiles框架一起使用,使得在JSP页面中可以方便地访问多层嵌套的Bean属性。 了解这些标签库后,开发人员可以更高效地构建视图层,减少Java代码在JSP...
5. **Nested标签库**: Nested库增强了其他Struts标签的嵌套功能,使得在复杂结构的数据模型中使用标签更加方便。例如,可以嵌套`<nested:property>`来处理多层属性的访问。 在使用Struts1标签时,有几个共同的...
Struts 1.1引入了Nested Tag,使得在JSP中处理嵌套对象变得更加简单。随着时间的推移,Struts框架不断演进,后续版本增加了更多功能和改进,如Struts 2引入了更强大的标签库和拦截器机制,以及更灵活的配置方式。 ...
Struts标签库是Java Web开发中的重要组成部分,尤其在基于MVC框架的Struts应用中,它极大地简化了视图层的开发工作。本项目主要关注的是Struts的四个核心标签库:HTML、Bean、Logic以及Nested,这些库提供了丰富的...
在本篇文章中,我们将深入探讨Struts2框架中的`doubleselect`标签的使用方法,并结合一个具体的示例来展示如何将此标签与Hibernate和Spring框架整合在一起,以便于更好地理解和运用这一技术。 ### Struts2框架简介 ...
- **nested标签**:提供增强的嵌套能力,使其他Struts标签能在复杂的数据结构中工作。 2. **Struts标签的公共特征**: - **自动区分范围**:标签在查找对象时会自动遍历页面、请求、会话和应用程序范围。 - **...
Nested标签库用于增强其他Struts标签的嵌套使用能力。通过嵌套标签,可以实现复杂的页面布局和逻辑。嵌套标签的使用方式灵活,可以大大简化JSP页面的复杂度。 7. 标签的公共属性: 标签库中的标签有一些共同的属性...
Nested标签库是为了支持嵌套形式的HTML元素而设计的,特别是在处理复杂表单时很有用。例如,`<nested:property>`标签允许在表单中处理嵌套的JavaBean属性。这个库使得在Struts1中处理层次结构的数据变得更加简单。 ...
5. **struts-nested标签**:这个标签库允许在嵌套的对象模型中使用JSP标准标签库(JSTL)和Struts标签。例如,`<nested:property>`允许你在复杂对象结构中引用属性。 6. **Struts-EL标签**:自Struts 2引入以来,...
Struts标签是Apache Struts...总结,Struts标签通过提供一系列定制化的JSP标签,极大地简化了Web应用程序的视图层开发。熟练掌握Struts标签的使用,不仅能提升开发效率,还能帮助构建出更加健壮和易于维护的Web应用。
除了以上的基本标签库,Struts 1.2还提供了ActionForm标签和Nested标签库,以支持更高级的功能。ActionForm标签允许在JSP页面上直接处理ActionForm对象,而Nested标签库则提供了更方便的方式来处理嵌套的JavaBean...
Struts 是一个强大的Java Web应用程序开发框架,它提供了一套丰富的自定义标签库,使得开发者在构建用户界面时能够更加方便地处理业务逻辑和数据展示。本文将详细讲解Struts中的Bean Tags、HTML Tags和Logic Tags的...
5. **nested标签**:在处理复杂的对象结构时,nested标签库可以帮助我们更方便地访问嵌套属性。例如,`<nested:property>`标签可以让我们直接访问和操作对象的深层属性。 6. **xhtml标签**:这是Struts 2引入的新...
**Nested标签库**增强了对其他Struts标签的嵌套使用能力,这在处理复杂页面结构时非常有用。 **Tiles标签库**则是为了创建复合式的网页,允许开发者将多个组件组合成一个完整的页面,提高了页面布局的灵活性和可...
Nested标签库是Struts的一个扩展,专门处理复杂的嵌套数据结构。`<nested:write>`和`<nested:writeNesting>`标签用于在JSP页面上显示和操作这些嵌套的数据。 8. `logic-present.jsp`: 这个文件可能展示了如何...