Day21
Jsp的动作标签
Jsp中的动作标签是由Tomcat来解释执行的,和java代码一样。而HTML是由浏览器执行的。
<jsp:forword>:转发!和RequestDispatcher的forWord()方法一样,在jsp中使用
<jsp:include>:包含!和RequestDispatcher的include()方法一样
<jsp:parm>:它用来作为上面两个的子标签,用来传递参数的
Eg:<jsp:forword page = “xxx.jsp” >
<jsp:parm value = “zhagnsan ” name =”username”/>
</jsp:forword>
内省:
导入包:commons-beanutils.jar和commons-logging.jar
BeanUtils.getProperty(Object bean,String propertyName)
BeanUtils.setProperty(Object bean,String propertyName,StringpropertyValue)
CommontUtils.toBean(Map map,Class calss)
javaBean
1. 为成员提供get/set方法
2. 必须有默认构造器(无参数的)
3. 属性:有get/set方法的成员,还可以没有成员,只要get/set 方法,属性的名称是由get/set方法决定而不是由成员名称决定的。
与javaBean相关的标签
<jsp:useBean> 创建或者查询Bean
**<jsp:useBean id = “user1” class = “cn.itcase.domain.User”scope = “session”/>
在session域中查找名为user1 的bean,如果不存在就创建
<jsp:serProperty property = “uername”name = “user1” value= “admin”/>
设置名为user1 的这个javabean的username属性值为admin
<jsp:getProperty property = “username”name = “user2”>
获取名为user2的这个Javabean中属性名为username的值
EL表达式
是jsp内置的表达式语言
作用:
1.全域查找,El替代的是<%=…%>也就是只能输出
2.El表达式来读取四大域
${xxx} 进行全域查找名为xxx的属性,如果不存在,输出的是空字符串,而不是null
${pageScope.xxx} ${requestScope.xxx}${sessionScope.xxx}${applicationScope.xxx}
指定域获取属性
3.javabean导航,${xxx.name}调用域对象名称是xxx中的getName();方法
4. EL可以输出的东西都在11个内置对象中
pageScope
requestScope
sessionScope
applicationScope
param:对应参数,是一个Map。Key 是参数名,value是参数值,用于单值
paramValues:适用于多值,value是多个参数值
header:对应请求头是Map,key表示头名称,value是单个头值
headerValues:value是多个头值${header.Host}
initParm:获取web.xml中的初始化参数
cookie:key是coolie的name,value是cookie对象
得到sessionid:${cookie.JSEEIONID.value}
pageContext:
获取项目名:${pageContext.request.contextPath}
以后的表单中,超链接中的项目名都要用这个表示,这样项目名变化之后这里也就会变化,不会有影响。
EL函数库
导入标签库:需要导入包
%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%
自定义函数库:
1先写一个函数2在WEB-INF下创建一个tld文件3在jsp导入标签库