1、假设存在如下类:
public class PropertyDesc
{
private int type;//确定值是以文本框显示还是列表显示
private String propertyName;
private String propertyValue;
private List<EntryDesv> propertyList;
……
}
public class EntryDesc
{
private int value;
private String UIDisplay;
……
}
2、将多个PropertyDesc对象放进HashMap中,方式如下:
Map<Integer, PropertyDesc> map = new HashMap<Integer, PropertyDesc>();
map.put(1, propertyDesc1);
map.put(2, propertyDesc2);
map.put(3, propertyDesc3);
……
request.setAttribute("map",map);
3、在页面可使用如下方式呈现:
<logic:iterate id="attr" indexId = "index" name="map">
<logic:equal name="attr" property="value.attrType" value="6">
<select size="1" name="select">
<logic:iterate id="list" name="attr" property="value.attrList">
<option selected value="<bean:write name="list" property="value"/>">
<bean:write name="list" property="UIDisplay"/>
</option>
<option value="<bean:write name="list" property="value"/>">
<bean:write name="list" property="UIDisplay"/>
</option>
</logic:iterate>
</select>
</logic:equal>
<logic:notEqual name="attr" property="value.attrType" value="6">
<input name="txtName" type="text" value="<bean:write name="attr" property="value.attrValue"/>"/>
</logic:notEqual>
</logic:iterator>
补充:
logic:iterator迭代HashMap
1、HashMap中存放普通的包装对象
Map<Integer, String> map=new HashMap<Integer, String>();
int index = 0;
map.put(++index, "Lily");
map.put(++index, "Lucy");
request.setAttribute("map", map);
<logic:iterate iterate id="var" name="map">
<bean:write name="var" property="key"/>
<bean:write name="var" property="value"/>
</logic:iterate>
2、HashMap中存放自定义的对象
//描述属性的对象,包含该对象的几个特征字段
AttributeDesc desc = new AttributeDesc();
Map<Integer, AttributeDesc > map=new HashMap<Integer, AttributeDesc >();
int index = 0;
map.put(++index, new String[]{"Lily", "Lucy"});
request.setAttribute("map", map);
<logic:iterate iterate id="var" name="map">
<bean:write name="var" property="key"/>
<bean:write name="var" property="value.属性名"/>
</logic:iterate>
3、HashMap中存放数组
int length = length of array;
String[] array = new String[length];
Map<Integer, String[]> map=new HashMap<Integer, String[]>();
int index = 0;
map.put(++index, new String[]{"Lily", "Lucy"});
request.setAttribute("map", map);
<logic:iterate id="var" name="map">
<bean:write name="var" property="key"/>
<logic:iterate id="str" name="var" property="value">
<bean:write name="str"/>
</logic:iterate>
</logic:iterate>
4、HashMap中存放List对象
List list = new ArrayList();
Map<Integer, List> map=new HashMap<Integer, List>();
int index = 0;
list.add("lucy");
map.put(++index, list);
request.setAttribute("map", map);
<logic:iterateid="user"name="map">
<bean:write name="user" property="key"/>
<logic:iterate name="user" property="value>
<bean:write name="value.属性名"/>
</logic:iterate>
</logic:iterate>
分享到:
相关推荐
下面我们将详细介绍如何在Struts中使用logic标签。 一、logic标签库的引入 在使用logic标签之前,首先要在JSP页面中引入logic标签库。这通常通过在页面顶部添加以下指令实现: ```jsp <%@ taglib prefix="logic" ...
总结来说,Struts的`logic`标签库是实现Web应用程序逻辑控制的重要工具,尤其在处理数据的增删改查操作时,它提供了直观且易于使用的功能。虽然现代框架有更优的选择,但对`logic`标签的了解对于理解Struts的运作...
使用Struts1的标签库能够极大地提升开发效率,减少代码量,同时增强应用的安全性和可维护性。例如,通过bean标签库,我们可以方便地在JSP页面上操作属性,实现国际化;通过logic标签库,我们可以进行逻辑控制,避免...
在一个典型的Struts应用中,用户填写表单(使用表单标签),提交后,Struts框架会调用相应的Action处理业务逻辑,然后根据结果使用逻辑标签进行跳转。如果需要验证数据,Validator框架会在用户提交表单时执行校验...
总结起来,`logic`标签库是Struts框架中不可或缺的一部分,它提供了丰富的控制流标签,使得开发者可以在JSP页面上处理条件判断和循环,提高了代码的可读性和可维护性。通过深入学习和实践,开发者可以更高效地构建...
三、在Struts中使用标签的步骤 1. 引入标签库:在JSP页面中通过`<%@ taglib %>`指令引入所需的Struts标签库,例如`<%@ taglib prefix="html" uri="/tags/html" %>`引入`html`标签库。 2. 配置标签库:在Struts配置...
- **logic标签**:处理条件判断和循环,例如`<logic:equal>`用于比较两个值是否相等。 - **nested标签**:提供增强的嵌套能力,使其他Struts标签能在复杂的数据结构中工作。 2. **Struts标签的公共特征**: - **...
使用Struts标签时,应注意避免在属性值中直接使用scriptlet表达式,而是应使用完整的表达式。例如,`<html:link>`标签的`href`属性应包含整个URL路径。 总结起来,JSP Struts的HTML标签库大大简化了开发者在JSP页面...
以下是对Struts1.x中常用标签的详细总结: 1. **Bean标签库**: - `<bean:define>`:用于创建、复制或提取Bean的属性。`id`属性定义Bean的脚本变量名,`type`指定Bean的类型,`value`或`name`属性定义Bean的值或...
通过上述分析,我们可以看到在Struts框架中使用`<logic:iterate>`标签不仅可以方便地遍历集合或数组,还可以结合其他逻辑标签实现复杂的数据展示需求,如换行布局。同时,结合JavaScript的动态DOM操作,可以进一步...
本文将详细介绍 Struts 1.x 中的关键标签及其用法。 #### 二、标签分类 Struts 1.x 中的标签被分为以下几个类别: 1. **BeanTags**:用于创建 Bean、访问 Bean 和访问 Bean 的属性,同时也支持依据 cookies、...
在JSP页面中使用Struts标签之前,需要在页面头部引入Struts标签库。这通常通过`<%@ taglib %>`指令完成,例如: ```jsp <%@ taglib prefix="logic" uri="/tags/logic" %> ``` 这里,`prefix`定义了标签的...
其中包含Struts标签大全 jsp Struts之HTML标签库详解 struts框架bean,html,logic标签手册等内容。不错,其中的JSP Struts之HTML标签库详解 .doc是朋友总结的。不错!
Struts标签是Apache Struts框架中的一个重要组成部分,用于在JSP页面中简化视图层的开发,提升代码的可读性和可维护性。本讲解案例将深入探讨Struts标签的使用...在实践中,不断学习和总结,你将成为Struts框架的专家。
这本《Struts标签库手册》是对Struts标签库的详细总结,旨在帮助初学者更好地理解和使用Struts框架。 Struts提供了五个主要的标签库: 1. **HTML标签库**:主要用于创建与Struts框架交互的HTML表单。例如,`...
总结起来,这个例子主要涵盖了Struts框架中的文件上传功能及其与JSP页面基本标签的结合使用。通过学习这个例子,开发者可以更好地理解Struts如何处理文件上传,以及如何利用JSP标签库简化页面开发。同时,要注意文件...
- **在代码中使用Log4j**:通过在代码中引入Log4j的日志记录类(如Logger),可以在关键位置记录调试信息、错误信息等。 #### Struts标签库详解 Struts框架中包含了多个标签库,这些标签库分别负责不同的功能,如...
#### 五、Struts Logic标签库详解 ##### 1. Logic标签库的作用 Logic标签库主要用于实现页面上的逻辑控制,如条件判断、循环等。这对于动态显示内容或根据用户的输入进行响应非常有用。 ##### 2. 常用Logic标签...
Logic Tags是Struts框架中用于逻辑判断和流程控制的标签库,提供了丰富的条件语句和循环结构。 **logic:iterate** - **功能概述**:遍历集合或数组中的元素,类似Java中的for-each循环。 **logic:present** - **...