EL表达式和JSTL标签
来源:互联网 发布:出租屋桌子推荐知乎 编辑:程序博客网 时间:2024/04/29 13:43
把java代码转换为标签
EL表达式的作用
1. 访问Bean属性
${对象名.属性名}
${对象名[“属性名”]}
public class Course implements Serializable{
/**
* version 1.0
*/
private static final long serialVersionUID = 1L;
//courseId是对象的属性,set和get方法中的直接对应的属性是bean的属性
//当前方法会让我们以为此类中有id属性,则id就是bean属性。去掉get并将剩下的单词首字母小写,得到的就是bean属性。
//其实就是因为定义为private,所以不可能被外界访问到,所以只能访问到get和set方法。
private IntegercourseId;
private Stringname;
private Integerdays;
public Integer getId() {
returncourseId;
}
public void setId(Integer courseId) {
this.courseId =courseId;
}
2. 输出简单的运算结果
算数运算
逻辑运算
关系运算
empty
3. 获取请求参数
${param.username}
request.getParameter(“username”);
//EL表达式不需要使用包,通过使用类反射技术,不需要知道类型是什么。
EL是javaEE自带的包。
//JSTL(JSP Standard TagLibrary)
1. 如何使用JSTL标签对应的jar文件拷贝到WEB-INF/lib目录下
如果导包失败,删除.m2中的jstl,因为不删除的话,maven就不会从服务器中取数据了,因为maven比较傻。
1. 使用taglib指令导入使用的JSTL标签
<%@taglib uri=”” prefix %>
uri:JSP标签命名空间
prefix:命名空间的前缀
<%@tagliburi="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- 2.choose -->
<p>
<c:choose>
<c:whentest="${stu.sex=='m' }">男</c:when>
<c:otherwise>女</c:otherwise>
</c:choose>
</p>
<!-- 3.foreach
items:声明要遍历的数组或集合
var:声明每次遍历所获取的数据的名称
-->
<p>
<c:forEachitems="${stu.interests }"var="i">
${i}
</c:forEach>
</p>
tomcat在翻译JSP的时候会把JSTL标签翻译为java代码.
tld文件也在tomcat之内。
//工程之间可以互转。
如果remove
//如何开发自定义标签
1. 编写java类,继承SimpTagSupport类
2. 在doTag方法中添加处理逻辑
3. 配置标签说明
<s:sysdate /> 2016/10/18 16:28:31
<s:sysdate format=”yyyy年MM月dd日”/> 2016年10月18日
//如何自定义标签
1. 创建一个类继承SimpleTagSupport
如果想要定义属性的话:
肯定要定义一个私有属性,然后通过私有属性定义格式。
然后重写get和set方法。
// 时间的格式,有默认值。
// 我们通过set方法修改其值
private Stringformat = "yyyy/MM/ddHH:mm:ss";
public String getFormat() {
returnformat;
}
public void setFormat(String format) {
this.format =format;
}
//然后就需要对事件进行设置,就是重写doTag()方法。
需要将时间输出给浏览器,那么就传递,就需要一个容器,因为该方法声明返回的类型是
//将时间输出给浏览器
//该方法声明返回JspContext
//该方法实际返回的是PageContext
//PageContext extendsJspContext
PageContextctx =(PageContext)getJspContext();
JspWriterout = ctx.getOut();
out.println(now);
//此处的流不能关闭,因为JSP上还有其他标签需要使用
<%@tagliburi="/yannis-tags"prefix="s"%>
<?xmlversion="1.0"encoding="UTF-8"?>
<taglibxmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<description>Yannis library</description>
<display-name>Yannis</display-name>
<tlib-version>3.1</tlib-version>
<short-name>s</short-name>
<uri>/yannis-tags</uri>
<tag>
<description>
thisis a very low tag,it can bring webBroswersystem time and can design format,amazing!
</description>
<name>sysdate</name>
<tag-class>
web.SysdateTag
</tag-class>
<body-content>empty</body-content>
<attribute>
<description>
throughthis attribute to set the format of the date
</description>
<!-- 此处设置的是bean属性,tomcat通过set方法来设置值。-->
<name>format</name>
<!-- 该属性是否必须设置 -->
<required>false</required>
<!-- 给这个属性赋值时,是否允许使用EL -->
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
</taglib>
- EL表达式和JSTL标签
- EL表达式和 JSTL标签
- el表达式和jstl标签
- EL表达式和JSTL标签
- EL表达式和JSTL标签
- EL表达式和JSTL标签
- jstl标签和EL表达式
- EL表达式和JSTL标签
- EL表达式和JSTL标签
- El表达式 和 JSTL标签
- EL表达式和JSTL标签
- EL表达式和JSTL标签
- EL表达式和JSTL标签
- JSTL标签和EL表达式
- el表达式和JSTL标签
- EL表达式和jstl标签
- el表达式和jstl标签
- EL表达式和JSTL标签
- bzoj usaco 1233 神题。。
- HDU4801【DFS】
- 欢迎使用CSDN-markdown编辑器
- 数据库学习笔记(二)
- 安卓 字符串明明一样 为什么equals不一样?
- EL表达式和JSTL标签
- Intersection
- javascript封装继承圣杯模式 和 命名空间,this,属性表示法介绍
- 免密要登录
- 前一个activity调用后一个activity的内容
- 设计模式(22)-访问者模式
- Java static语句块
- hdu1227_Fast Food
- 近期面试题整理(二叉树的中序遍历、合并排序链表数组)