JSTL开发实例详解

现在做一个web项目,需要实现以下功能

选着不同的选项,显示不同的内容。

那么显然需要用到JSTL里的选择标签。

下面是实现方案:

前端的数据是后端服务给的,比如,grade字段是true则表明已经评分,id==null则表明没有提交。

<!--  作业列表 -->
            <div id="homeworkDetail">
                <div class="tabHomework">
                    <input type="radio" name="homework" value="1" checked="checked" /><label for="" class="checked">全部</label>
                    <input type="radio" name="homework" value="2" /> <label for="">未提交</label>
                    <input type="radio" name="homework" value="3" /> <label for="">未评分</label>
                    <input type="radio" name="homework" value="4" /> <label for="">已评分</label>

                </div>
                <!-- 全部列表 -->
                <ul class="homeWorkUL" id="all">
                    <c:forEach var="mymap" items="${map}">
                        <c:forEach var="submitMap" items="${mymap.value}" varStatus="abc">
                            <li><a href="mainView/courseHomework/courseHomeworkDetailLook.jsp?AssignmentSubmit=${submitMap.value}">
                                    <ul class="subHomeWorkUL">
                                        <li id="realName">${submitMap.value.realName}</li>
                                        <li id="userName">${submitMap.key}</li>
                                        <li id="Grade">
                                <c:choose>
                                    <c:when test="${submitMap.value.id == null}">未提交</c:when>
                                    <c:when test="${submitMap.value.rejected}">被打回</c:when>
                                    <c:when test="${submitMap.value.graded}">${submitMap.value.gradePoint}</c:when>
                                    <c:otherwise>   <strong>未评分</strong>  </c:otherwise>
                                </c:choose>
                                </li>   </ul>
                            </a>
                            </li>
                        </c:forEach>
                    </c:forEach>
                </ul>

                <!-- 未提交 -->
                <ul class="homeWorkUL" id="noSubmit">
                    <c:forEach var="mymap" items="${map}">
                        <c:forEach var="submitMap" items="${mymap.value}" varStatus="abc">
                            <c:choose>
                                <c:when test="${submitMap.value.id == null}">
                                    <li><a href="mainView/courseHomework/courseHomeworkDetailLook.jsp">
                                            <ul class="subHomeWorkUL">
                                                <li id="realName">${submitMap.value.realName}</li>
                                                <li id="userName">${submitMap.key}</li>
                                                <li id="state">未提交</li>
                                            </ul>
                                    </a></li>
                                </c:when>
                                <c:otherwise></c:otherwise>
                            </c:choose>
                        </c:forEach>
                    </c:forEach>
                </ul>

                <!-- 未评分 -->
                <ul class="homeWorkUL" id="noEvaluate">
                    <c:forEach var="mymap" items="${map}">
                        <c:forEach var="submitMap" items="${mymap.value}" varStatus="abc">
                            <c:choose>
                                <c:when test="${submitMap.value.id!=null && submitMap.value.graded eq false}">
                                    <li>
                                    <a href="mainView/courseHomework/courseHomeworkDetailLook.jsp">
                                            <ul class="subHomeWorkUL">
                                                <li id="realName">${submitMap.value.realName}</li>
                                                <li id="userName">${submitMap.key}</li>
                                                <li id="state">未评分</li>
                                            </ul>
                                    </a></li>
                                 </c:when>
                                <c:otherwise></c:otherwise>
                            </c:choose>
                        </c:forEach>
                    </c:forEach>
                </ul>

                <!--  已评分 -->
                <ul class="homeWorkUL" id="evaluate">
                    <c:forEach var="mymap" items="${map}">
                        <c:forEach var="submitMap" items="${mymap.value}" varStatus="abc">
                            <c:choose>
                                <c:when test="${submitMap.value.graded}">
                                <li>
                                <a href="mainView/courseHomework/courseHomeworkDetailLook.jsp">
                                     <ul class="subHomeWorkUL">
                                                <li id="realName">${submitMap.value.realName}</li>
                                                <li id="userName">${submitMap.key}</li>
                                                <li id="Grade">${submitMap.value.gradePoint}</li>
                                      </ul>
                                    </a>
                                </li>
                                </c:when>
                                <c:otherwise></c:otherwise>
                            </c:choose>
                        </c:forEach>
                    </c:forEach>
                </ul>
            </div>
        </div>
    </div>

版权声明:本文为博主原创文章,转载请注明本博客地址!

时间: 2024-11-09 09:43:11

JSTL开发实例详解的相关文章

Cocos2d-x 3.X手游开发实例详解

Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐) 于浩洋 著   ISBN 978-7-121-23998-4 2014年9月出版 定价:59.00元 356页 16开 编辑推荐 以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法 以热门游戏2048.卡牌为例,完整再现手游的开发过程 Cocos2d-x作者之一林

《HTML 5网页开发实例详解》目录

第一篇  从宏观上认识HTML 5 讲述了HTML 5引发的Web革命.HTML 5的整体特性.HTML 5相关概念和框架和开发环境搭建. 第1章 HTML 5引发的Web革命 1.1  你是不是真的了解HTML 5 1.1.1  通过W3C认识HTML 5的发展史 1.1.2  HTML 5.HTML4.XHTML的区别 1.1.3  什么人应该学HTML 5 1.1.4  一个图告诉你如何学习HTML 5 1.2  浏览器之争 1.2.1  说说这些常见的浏览器 1.2.2  浏览器的兼容烦

当里个当,免费的HTML5连载来了《HTML5网页开发实例详解》连载(一)

读懂<HTML5网页开发实例详解>这本书 你还在用Flash嘛?帮主早不用了 乔布斯生前在公开信<Flash之我见>中预言:像HTML 5这样在移动时代中创立的新标准,将会在移动设备上获得胜利. --国际巨头Google.苹果等都支持HTML 5标准,要不要学,你看着办! BAT三巨头都偷偷用上HTML 5了 HTML 5目前在国内的发展达到了空前的高度,以BAT三大巨头互联网公司为例,他们都已经争先恐后地将HTML 5的新技术融入到现实的开发领域中了.本书的例子会涉及WebQQ.

免费的HTML5连载来了《HTML5网页开发实例详解》连载(三)DOCTYPE和字符集

在2.1.2节中通过新老DOCTYPE的对比,读者可以清晰地看到HTML 5在精简旧有结构上做出的努力.DOCTYPE在出现之初主要用于XML中,用作描述XML允许使用的元素.属性和排列方式.起初HTML借鉴了XML中DOCTYPE的使用方法,并赋予了新用法,如大家熟知的触发浏览器的标准模式.假使在制作一张页面时,没有设定DOCTYPE,则浏览器会以怪异模式状态进行处理(即Quirks模式),该模式与标准模式在盒模型.样式.布局等都存在较大差异.因此,DOCTYPE在制作页面时是不可或缺的部分.

免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询

响应式设计的另一个重要技术手段是媒体查询.如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应式设计.媒体查询可以来解决这一问题.媒体查询可以为特定的浏览器和设备提供特定的样式.媒体查询是CSS 3的一个新特性,是对媒体类型的扩展. 提示:W3C列出了10种媒体类型,请参考http://www.w3.org/TR/CSS2/media.html#media-types. 在响应式设计中,媒体

jqm的多列布局demo,html5的多列布局demo,多列布局的详细讲解,html5开发实例详解

由于移动设备屏幕宽度较小,所以一般不建议使用多列布局.但有时你可能需要并排放置一些元素(如按钮之类的). jQuery Mobile通过约定的类名ui-grid来提供了一种基于css的多列布局方法.共提供了五种布局方式,分别是:ui-gird-solo:单列布局,ui-gird-a:双列布局,ui-gird-b:三列布局,ui-gird-c:四列布局,ui-gird-d:五列布局.布局网格总宽度100%,完全不可见(无边框无背景),没有任何内边距或外边距,不会对网格中的内容产生任何干扰. 今天我

免费的HTML5连载来了《HTML5网页开发实例详解》连载(五)图解通过Fiddler加速开发

Fiddler是Windows底下最强大的请求代理调试工具,监控任何浏览器的HTTP/HTTPS流量,窜改客户端请求和服务器响应,解密HTTPS Web会话,图4.44为Fiddler原理示意图. 图4.44  Fiddler原理示意图 Fiddler安装的系统要求为Windows XP或Windows 8中的版本,其中Fiddler2依赖于Microsoft.NET Framework 2.0,最新的Fiddler4依赖于Microsoft.NET Framework 4.0. Fiddler

《HTML 5网页开发实例详解》样章、内容简介、前言

http://spu.jd.com/1167757597.html http://product.dangdang.com/23484942.html 样章 http://download.csdn.net/download/hdzn0603/7421803 内容简介 <HTML 5网页开发实例详解>从实际的应用场景出发,结合当下的热门技术,深入浅出地介绍了 HTML 5所包含的各项新技术.本书分为 14章.第 1~4章介绍了 HTML 5和浏览器的发展史. HTML 5新特性的使用,最新的前

《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口

HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和FileList对象.用于创建和写入的Blob和FileWriter对象.用于目录和文件系统访问的DirectoryReader和LocalFileSystem对象等,FileSystem功能的出现是浏览器在文件系统上的突破,具有里程碑的意义,虽然目前还尚未完全成熟,但足以让开发者发挥更大的想象空间.