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-08-30 09:40:10

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

Android 音乐播放器的开发实例详解_Android

   本文将引导大家做一个音乐播放器,在做这个Android开发实例的过程中,能够帮助大家进一步熟悉和掌握学过的ListView和其他一些组件.为了有更好的学习效果,其中很多功能我们手动实现,例如音乐播放的快进快退等.        先欣赏下本实例完成后运行的界面效果:         首先我们建立项目,我使用的SDK是Android2.2的,然后在XML中进行布局.        上方是一个ListView用来显示我们的音乐列表,中间是一个SeekBar可以拖动当前音乐的播放进度,之所以用Se

微信小程序开发实例详解_其它综合

"小程序"破解IDE + Demo:https://github.com/gavinkwoe/weapp-ide-crack.git 资源汇总:https://github.com/Aufree/awesome-wechat-weapp 官方简易教程·MINA:http://wxopen.notedown.cn/ Hello小程序 - 非官方:http://www.helloxcx.com 微信应用号开发教程:https://my.oschina.net/wwnick/blog/750

Ubuntu 使用Jni开发实例详解_java

1. 编写Java文件,在其中声明native方法, 并通过static 语句块加载动态链接库,示例Prompt.java代码如下: class Prompt { private native String getLine(String prompt); public static void main(String args[]) { Prompt p = new Prompt(); String input = p.getLine("Type a line: "); System.o

php mvc开发实例详解(1/3)

<?php教程include("core/ini.php");initializer::initialize();$router = loader::load("router");dispatcher::dispatch($router); 这个文件就只有4句,我们现在一句句来分析. include("core/ini.php"); 我们来看core/ini.php <?phpset_include_path(get_include_

Android6.0指纹识别开发实例详解

Android6.0指纹识别开发实例详解 最近在做android指纹相关的功能,谷歌在android6.0及以上版本对指纹识别进行了官方支持.当时在FingerprintManager和FingerprintManagerCompat这两个之间纠结,其中使用FingerprintManager要引入com.android.support:appcompat-v7包,考虑到包的大小,决定使用v4兼容包FingerprintManagerCompat来实现. 主要实现的工具类FingerprintU

Android USB转串口通信开发实例详解

Android USB转串口通信开发实例详解 好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基本流程. 我们开发使用的是usb主机模式,即:安卓平板作为主机,usb外设作为从机进行数据通信.整个开发流程可以总结为以下几点: 1.发现设备 UsbManager usbManager = (UsbManager) context.getSystemS

Android 音乐播放器的开发实例详解

本文将引导大家做一个音乐播放器,在做这个Android开发实例的过程中,能够帮助大家进一步熟悉和掌握学过的ListView和其他一些组件.为了有更好的学习效果,其中很多功能我们手动实现,例如音乐播放的快进快退等. 先欣赏下本实例完成后运行的界面效果: 首先我们建立项目,我使用的SDK是Android2.2的,然后在XML中进行布局. 上方是一个ListView用来显示我们的音乐列表,中间是一个SeekBar可以拖动当前音乐的播放进度,之所以用SeekBar而不用ProgressBar是因为我们需

Yii2 RESTful中api的使用及开发实例详解_php实例

什么是RESTful风格的API 对于各种客户端设备与服务端的通信,我们往往都通过API为客户端提供数据,提供某种资源.关于RESTful的概念,一查一大推,一两句也解释不清,姑且先按照我们通俗的理解:在众多风格.众多原则的API中,RESTful就是一套比较优秀的接口调用方式. Yii2如何实现RESTful风格的API 1.建立单独的应用程序 为了增加程序的可维护性,易操作性,我们选择新建一套应用程序,这也是为了和前台应用.后台应用区分开操作.有些人要嚷嚷了,为啥非得单独搞一套呢?如果你就单

在Html中使用Requirejs进行模块化开发实例详解_javascript技巧

在前端模块化的时候,不仅仅是js需要进行模块化管理,html有时候也需要模块化管理.这里就介绍下如何通过requirejs,实现html代码的模块化开发. 如何使用requirejs加载html Reuqirejs有一个text的插件,它可以读取指定文件的内容,读取到的内容就是文本. 如何下载text插件 第一种方法,可以通过npm下载: npm install requirejs/text 第二种方法,也可以直接去官方github上面直接下载. 直接拷贝内容到text.js中即可. 如何安装t