`
ludaojuan21
  • 浏览: 224144 次
  • 性别: Icon_minigender_1
  • 来自: 回龙观
社区版块
存档分类
最新评论

用JSTL迭代List(hql组装出来的对象)和HashMap以及List(对应表记录)

    博客分类:
  • JSP
阅读更多
1.迭代List(hql组装出来的对象)
hql:
String hql = "select (select b.rotaname from RunRota b where b.rotaid=a.rotaid),a.classid,a.classname from RunClass a where a.rotaid in "
+" (select c.rotaid from PlanRota c where "
+" c.startdate = (select max(b.startdate) from PlanRota b where b.factoryid="+runFactoryId+" and b.startdate < current_date) and  c.factoryid="+runFactoryId+") order by a.orderno ";

在ACTION中设值:
request.setAttribute("classes", classes);

迭代方法:
<select name="classId" style="width:140px">
						<c:forEach var="class" items="${classes}">
							<c:choose>
								<c:when test="${runReturncardForm.classId==class[1]}">
									<option value="${class[1]}" selected>
										${class[0]}|${class[2]}
									</option>
								</c:when>
								<c:otherwise>
									<option value="${class[1]}">
										${class[0]}|${class[2]}
									</option>
								</c:otherwise>
							</c:choose>
						</c:forEach>
</select>


说明:这个时候是根据List的下标对值进行引用的

2.迭代HashMap
在ACTION中设值,factories为一个构造好的HashMap:
在ACTION中设值:
request.setAttribute("factories",factories);
迭代方法:
<select name = "factoryid" id =  "factoryid" style="width:138px">
						<c:forEach var="factory" items="${factories}">
							<option value="${factory.key}">
								${factory.value}
							</option>
						</c:forEach>	
					</select>

说明:这个时候是根据HashMap的key和value对值进行引用的

1.迭代List(对应表记录)
这种情况最常见,也就是直接迭代我们从后台组装好的一条一条的记录对象
在ACTION中设值:
returnCards = returncardService.findReturnCard();
request.setAttribute("returnCards ",returnCards );
<c:forEach var="returnCard" items="${returnCards}">
    	<tr class="trbai">
    		<TD height="27" align="center" noWrap>${returnCard.returntime}</td>
    		<TD height="27" align="center" noWrap>
    		<c:forEach var="returnerName" items="${returnerNameMap}">
    			<c:if test="${returnCard.returner == returnerName.key}">
    				${returnerName.value}
    			</c:if>
    		</c:forEach>
    		</td>
    		<TD height="27" align="center" noWrap>
    		${returnCard.cardcode}
    		</td>
    		<TD height="27" align="center" noWrap>
    		<a href="javascript:dispDetail('${returnCard.tid}');" >查看详细</a>
    		</td>
    	</tr>
    	
    	</c:forEach>

说明:这个时候是根据对象的属性对值进行引用的







分享到:
评论

相关推荐

    jstl迭代学习实例

    例如,我们可以用JSTL遍历一个包含汉字信息的列表,展示每个汉字的拼音和部首: ```jsp &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt; ... ${characters}" var="charInfo"&gt; 汉字:${charInfo...

    jstl取得list的长度

    jstl取得list的长度,纯代码,本人已经验证可用。共享给大家

    servlte加jstl传递List集合

    1. 引入JSTL库:在web.xml配置文件中添加JSTL的依赖,或者在pom.xml(如果使用Maven)中导入对应的JSTL库。 ```xml &lt;!-- 在web.xml中 --&gt; &lt;taglib-uri&gt;http://java.sun.com/jsp/jstl/core&lt;/taglib-uri&gt; ...

    javaweb使用的Jstl.zip

    JSTL的使用可以极大地提高开发效率,因为它允许我们用更简洁、更易读的方式来处理常见的JavaWeb任务,比如迭代、条件判断、数据操作等,而无需使用传统的Java脚本语法`&lt;% %&gt;`。 **JSTL的主要组成部分:** 1. **...

    jstl中判断list中是否包含某个值的简单方法.docx

    在 jstl 中,判断 list 中是否包含某个值可以使用 c:forEach 标签和 c:if 标签来实现。下面是一个简单的示例代码: ```jsp ${sessionScope.SelectDeviceIdsList}" var="map"&gt; ${map.key eq device[0]}"&gt; ${...

    jstl标签详解.doc

    1. **Core库**:提供基础操作,如变量管理、迭代、条件判断以及URL操作。 2. **Format库**:用于数据格式化,尤其是数字和日期,同时也支持国际化。 3. **XML库**:处理XML数据。 4. **SQL库**:处理与关系数据库的...

    jstl1.1和jstl1.0

    如果项目运行在较新的容器上,推荐使用JSTL1.1以获得更好的兼容性和性能。 **使用方法** 要使用JSTL,需要在项目的类路径中包含相应的jar文件,并在JSP页面中通过`&lt;%@ taglib %&gt;`指令导入标签库。例如,导入JSTL...

    jstl-impl-1.2.jar和jstl-api-1.2.jar

    JSTL是一个标准的标签库,提供了许多预定义的标签,可以简化常见的任务,如迭代、条件判断、XML处理等,避免了在页面上过多地使用脚本let和scriptlet。 "jstl-impl-1.2.jar"和"jstl-api-1.2.jar"是JSTL 1.2版本的两...

    JSTL.jar和standard.jar包

    接下来,可以在JSP页面中使用JSTL标签,例如,用`&lt;c:forEach&gt;`进行迭代,`&lt;c:if&gt;`进行条件判断: ```jsp ${list}" var="item"&gt; ${item.name}"/&gt; ``` 这里,`${list}`是EL表达式,用来获取Java后台传入的数据,`...

    jstl和el的基础

    总之,JSTL和EL的结合使用,能够极大地提升JSP页面的可维护性和效率,让代码更加简洁,更符合MVC设计模式,从而降低开发和维护的复杂度。在实际开发中,应当充分利用这两个工具来提高代码质量。

    JSTL标签Jar包jstl和standard

    使用JSTL时,需要将这两个JAR包放入Web应用的`WEB-INF/lib`目录下,以确保服务器能够正确识别并执行标签。在JSP页面中,需要通过以下方式引入JSTL库: ```jsp &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/...

    JSTL相关Jar包(jstl+standard)

    在这个压缩包中的"jdk8+tomcat9版本以下使用JSTL.zip"包含了适用于这些环境的JSTL和Standard Tag Library的jar文件。 **1.2新版本JSTL** 1.2版本的JSTL是一个较新的发行版,相比早期版本,它可能包含更多的功能...

    详解javaweb中jstl如何循环List中的Map数据

    我们仍然使用来遍历list集合,但在标签体内,再次使用标签来迭代data变量(此时的data是一个Map对象): ```jsp ${list}" var="data"&gt; ${data}" var="test"&gt; ${test.key}:${test.value} ``` 在这个嵌套的迭代...

    jstl.jar和standard.jar的包5分下载

    JSTL的核心组件包括Core、I18n、SQL和XML四个部分,分别对应基本操作、国际化、数据库操作和XML处理。 `jstl.jar`是JSTL库的主文件,包含了JSTL的API和实现。它提供了如 `&lt;c:if&gt;`、`&lt;c:forEach&gt;`、`...

    jstl 遍历_jstl遍历_

    同时,JSTL还可以和其他标签库(如fmt、sql、function等)配合使用,实现更复杂的逻辑。 总之,JSTL遍历是Java Web开发中的重要工具,通过使用`&lt;c:forEach&gt;`标签,我们可以轻松地处理各种集合数据,将其展示在用户...

    jstl-1.2和standard1.2版本

    Standard库1.2是JSTL的核心依赖,它包含了EL(Expression Language)的实现,EL是JSP 2.0引入的表达式语言,用于在JSP页面中便捷地访问和操作Java对象。Standard库1.2还提供了对JSTL Core、fmt、fn、sql和xml标签的...

    JSTL必须引用的jstl.jar和 standard.jar两个包

    在使用JSTL时,有两个核心的JAR文件是必不可少的:`jstl.jar`和`standard.jar`。这两个文件包含了JSTL的核心实现和相关的支持库。 1. `jstl.jar`:这是JSTL的主要库文件,包含了JSTL的所有核心标签类和接口。这些...

    jstl和standard下载

    在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)和Standard库是两个非常重要的组件,它们主要用于增强JSP页面的功能,提高代码的可读性和可维护性。当我们在开发过程中遇到...

    JSTL和EL帮助文档

    **JSTL(JavaServer Pages Standard Tag Library)与EL(Expression Language)是Java Web开发中的两个重要组件,它们极大地简化了JSP页面的编写和管理,使得代码更加清晰和易于维护。** **JSTL** 是一个标准的标签...

    jstl标签jar包(jstl-api-1.2和jstl-impl-1.2)

    JSTL的主要目标是减少在JSP页面中使用脚本元素,从而提高代码的可读性和维护性。 `jstl-api-1.2.jar` 和 `jstl-impl-1.2.jar` 是JSTL的两个关键组件: 1. **jstl-api-1.2.jar**:这是JSTL的API接口定义,包含了...

Global site tag (gtag.js) - Google Analytics