Spring mvc 实例 --JSTL结合EL实现JSP获取后台List回显界面

JSTL 和 EL 间的关系

【详见 java web前端瘦身器】,从该篇博客可以看出,JSTL是java web前台页面标签的集合,形成了一套规范,利用JSTL标签显示数据。EL表达式则是获取数据的工具,形如 ${} ,获取后台数据给标签赋值,从而回显界面。所以两者一个标签,一个标签里的数据,相辅相成。

JSTL标签:

1、常用的JSTL标签

 核心标签库包括:out , set , remove , catch , if , choose , when  URL .

表达式操作标签:  包括:out , set , remove , catch.

具体使用细则详见【 java web前端瘦身器

2、在JSP页面中使用JSTL标签库:

(1、首先需要先引入jstl.jar 和standard.jar两个jar包

(2、在jsp页面加入 <%@taglib uri=" http://java.sun.com/jsp/jstl/core"prefix="c"%>,如若需要引用其他标签,可将URI值换成对应地址。

标签库                         URI                                           前缀      使用模式

核心标签库                  http://java.sun.com/jstl/core         c             <c:tagname…>

国际化标签(I18N)        http://java.sun.com/jstl/fmt           fmt         <fmt:tagname…>

SQL标签库                 http://java.sun.com/jstl/sql            sql          <sql:tagname…>

XML标签库                http://java.sun.com/jstl/xml          x            <x:tagname…>

函数标签库                  http://java.sun.com/jstl/functions   fn           <fn:tagname…>

EL表达式:

1、EL基本格式:

EL的基本格式以美元($)符界定,内容包括在花括号({ })中,例如${teachersList}

2、EL存取器:通过“[]”或是“.”符号获取数据,用于检索对象的特性或集合的元素。例如后台返回list集合,获取集合中每一个对象,则利用${teachersList.teacherName}

应用验证

下面通过Spring mvc中JSP页面利用<c:forEach> 和<c:out>JSTL标签和EL表达式获取 Controller传回的teacherList集合中每一个元素为例,具体使用: 

Controller——获取业务数据,传入request对象 

@RequestMapping("/showTeacherEvaluate")  
  
    public String showTeacherEvaluate(HttpServletRequest request,  
  
            HttpServletResponse response,Model model){  
  
            List<TeacherAssessResult>  teachersList=new ArrayList<TeacherAssessResult>();  
  
            TeacherAssessResult re1=new TeacherAssessResult();  
  
            re1.setCourseType("实践课");  
  
            re1.setTeacherName("22");  
  
            re1.setCourseName("微生物实验");  
  
   
  
            TeacherAssessResult re2=new TeacherAssessResult();  
  
            re2.setCourseType("实践课");  
  
            re2.setTeacherName("33");  
  
            re2.setCourseName("微生物实验");  
  
              
  
            teachersList.add(re1);  
  
            teachersList.add(re2);  
  
   
  
            //添加实体集合到request对象  
  
            request.setAttribute("teachersList", teachersList);  
  
            return "TeacherEvaluating";  
  
    }  
JSP页面——利用EL表达式forEach 获取数据回显界面
<table class="easyui-datagrid" style="width:264px;height:620"  
  
        data-options="singleSelect:true,collapsible:true,url:'datagrid_data1.json',method:'get'">  
  
    <thead>  
  
        <tr>  
  
            <th data-options="field:'itemid',width:66">教师姓名</th>  
  
            <th data-options="field:'productid',width:66">课程名称</th>  
  
            <th data-options="field:'listprice',width:66,align:'right'">课程类型</th>  
  
            <th data-options="field:'listprice',width:66,align:'right'">是否评估</th>  
  
        </tr>  
  
   
  
    <c:forEach items="${teachersList}" var="t">   
  
        <tr>  
  
            <th><c:out value="${t.teacherName}" /></th>   
  
            <th><c:out value="${t.courseName}" /></th>   
  
            <th><c:out value="${t.courseType}" /></th>   
  
            <th><a href="/list.jsp">尚未评估</th>   
  
        </tr>   
  
     </c:forEach>  
  
    </thead>  
  
</table>  

总结

   在java初期便接触了EL表达式和JSTL标签,由于后期好几个项目使用SSH框架,前台自然使用struts2标签,形如<s:property value="%{#User.getUserName()}"/>,返回List便利用<i:iterator>循环即可,当前端使用spring mvc重拾JSTL+EL时,才觉似曾相识,再次应证了知识还需回味才能愈香愈浓。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值