Jstl和el以前对我来说是一个很陌生的词,不知道它们是什么,直到今天才知道它们的用处,以前我们在编jsp程序的时候,有经验的程序员总说我们把java程序写在jsp页面中很难看,而且不是很灵活,复杂度也很高,复用率低,所以尽量不要把java程序写在jsp页面中,那时我真的很凝问,不知道是怎么一回事,难道有什么方法可以解决这样的问题吗?今天得到了答案是可以的,我们可以采用Jstl和el标签就可以实现了,而且和方便很灵活,不会像我们在编jsp程序的时候用java程序总会出很多的错误,特别是空指针异常,但是用了Jstl和el以后,即使错了,也不会出现很严重的错误。比如下面的代码。
一:我们在servlet中保存一些参数,在jsp中取出:
package tmc.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class JstlServlet1 extends HttpServlet {
public JstlServlet1() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("name","tian");
request.setAttribute("name1", "mao");
request.setAttribute("name2","chun");
request.setAttribute("name3","<font color='red'>北京欢迎您</font>");
List<Dog> list = new ArrayList<Dog>();
list.add(new Dog("夏奥1"));
list.add(new Dog("夏奥2"));
list.add(new Dog("夏奥3"));
list.add(new Dog("夏奥4"));
list.add(new Dog("夏奥5"));
list.add(new Dog("夏奥6"));
list.add(new Dog("夏奥7"));
list.add(new Dog("夏奥8"));
request.setAttribute("list",list);
request.setAttribute("now", new Date());
request.getRequestDispatcher("2.jsp").forward(request,response);
//request.getRequestDispatcher("fmt.jsp").forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
我们传统的方式会这样写:
<%
String name1 = request.getAttribute("name");
String name2 = request.getAttribute("name1");
String name3 = request.getAttribute("name2");
String name4 = request.getAttribute("name3");
List<Dog> list = request.getAttribute("list");
out.println(name);
out.println(name1);
out.println(name2);
out.println(name3);
for(Dog dog:list){
out.println(dog.getName());
}
%>
以上的这种写法容易出错,当传进来的数是空的时候,就会出现空指针异常了,而且这样的代码看上去不是那么的好,特别是在jsp页面上,错误很难调试。所以我们可以采用Jstl和el标签很简单的来实现和完成上面的相同功能:
<c:out value="${name}"></c:out>
<c:out value="${name1}"></c:out>
<c:out value="${name2}"></c:out>
<c:out value="${name3}" escapeXml="false"></c:out>
<table border="1" width="200" height="50">
<tr>
<td>编号</td>
<td>姓名</td>
</tr>
<c:forEach items="${list}" var="dog" varStatus="vs">
<c:choose >
<c:when test="${vs.count%2==0}">
<tr style="background-color:red;">
</c:when>
<c:otherwise>
<tr style="background-color:blue;">
</c:otherwise>
</c:choose>
<td>${vs.count}</td>
<td>${dog.name }</td>
</tr>
</c:forEach>
</table>
这样的话就很方便的实现了上面的功能,而且看上去都是像html代码一样,很美观,最主要的话它很方便和灵活,不会出现莫名其妙的错误,这样在以后的java web开发中,我们就可以使用Jstl和el标签用于项目开发中,可以大大提高代码的可利用率和灵活性!
分享到:
相关推荐
JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是Java Web开发中的两个重要组件,主要用于增强JSP页面的功能和可读性。JSTL是一组标签库,提供了处理常见任务如迭代、条件判断、XML操作...
**JSTL(JavaServer Pages Standard Tag Library)与EL(Expression Language)是Java Web开发中的两个重要组件,它们极大地简化了JSP页面的编写和管理,使得代码更加清晰和易于维护。** **JSTL** 是一个标准的标签...
EL的简洁性和JSTL的强大功能相辅相成,使得开发者能够在不编写任何Java代码的情况下实现复杂的逻辑。例如,使用JSTL的`<c:forEach>`标签遍历集合时,可以通过EL表达式访问集合中的每个元素: ```jsp ${items}"> ${...
**JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是Java Web开发中的两个重要组件,它们极大地简化了JSP页面的编写和管理。** **JSTL** 是一套标准的标签库,提供了丰富的功能,如迭代...
在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是两个非常重要的组件,它们极大地简化了页面逻辑的编写,提高了代码的可读性和维护性。下面将详细介绍这两个概念以及...
**JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是Java Web开发中的两个重要组件,它们极大地简化了JSP页面的编写和管理。JSTL是一组预定义的标签库,用于处理常见任务,如迭代、条件...
JSTL和EL.mp4
总的来说,JSTL和EL是Java Web开发中的重要工具,它们通过提供强大的标签库和表达式语言,帮助开发者编写更简洁、高效且易于维护的JSP页面。了解并熟练使用JSTL能显著提高开发效率,同时也是提升项目质量的重要手段...
在这个"JSTL&EL分页的例子"中,我们将探讨如何使用JSTL和EL来实现分页功能,这是一种在网页上显示大量数据时非常实用的技术。分页可以使用户更方便地浏览和管理信息,避免一次性加载过多数据导致页面响应慢或者内存...
JSTL的核心是与Java Expression Language(EL)紧密集成,EL则是一个用于在JSP页面中获取和操作数据的简洁表达式语言。 **EL(Expression Language)**是Java Servlet 2.4及更高版本中引入的一种轻量级脚本语言。它...
JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是Java Web开发中用于增强JSP页面可读性和可维护性的两个重要组件。JSTL是一套标准的标签库,提供了各种功能,如迭代、条件判断、XML处理等,...
《基于JSTL和EL的学生管理系统详解》 在IT行业中,Web开发是不可或缺的一部分,而JavaWeb技术则是其中的重要支柱。对于初学者来说,掌握一套简单易懂的Web项目框架至关重要,"学生管理系统JSTL+EL.zip" 就是一个很...
在"Jstl_el"这个压缩包文件中,可能包含了使用JSTL和EL的JSP实例代码。这些实例可能涵盖了上述提到的JSTL标签库的使用,以及EL表达式的各种操作。通过学习这些实例,开发者可以深入理解如何在实际项目中有效利用JSTL...
本学习实例主要围绕Java Web开发中的JSP、Struts、JSTL和EL技术展开,旨在帮助开发者深入理解和应用这些核心技术构建实际的Web应用程序。这些技术都是Java EE平台上的重要组件,广泛用于企业级应用开发。 首先,JSP...
- taglibs-standard-jstlel-1.2.5.jar - xalan-2.7.1.jar - serializer-2.7.1.jar 如果你不使用JSTL 1.0标签 taglibs-standard-jstlel.JAR可以不使用。如果不使用XML库,Xalan包也可以省略。 如果你使用...
为了增强JSP页面的功能性和简化代码,我们通常会使用两种技术:EL(Expression Language)表达式和JSTL(JavaServer Pages Standard Tag Library)标签库。这两个工具都是Java EE生态系统的一部分,极大地提高了开发...
【JSTL与EL简介】 JSTL(JavaServer Pages Standard Tag Library)是JSP标准标签库,它提供了一系列预定义的标签,用于简化JSP页面的开发,使其更易于维护和阅读。EL(Expression Language)是JSP 2.0引入的一种...
源代码的学习价值在于,它能帮助开发者更好地理解JSTL和EL的实际应用,如何在JSP页面中处理session,以及这两者如何协同工作来提高效率。同时,源代码中的注释和结构也会提供学习如何编写清晰、可读的代码的范例。...
综上所述,E-家园项目利用Servlet处理请求,JSTL和EL负责视图渲染,Web服务提供了跨系统交互的能力,而数据库则作为持久化存储,保存了所有用户信息和互动记录。这样的架构设计保证了项目的灵活性、可扩展性和可维护...
JSTL(Java Standard Tag Library)和EL(Expression Language)是两种在JSP开发中广泛使用的标签库和技术,主要用于简化JSP页面的编程,提高代码的可读性和维护性。 EL表达式是一种强大的表达式语言,它允许在JSP...