<jsp:useBean id=”beanName” class=”fully_qualified_classname” scope=”scope”/>

<jsp:useBean id=”beanName” class=”fully_qualified_classname” scope=”scope”>
     <jsp:setProperty …/>
</jsp:useBean>
来声明要使用一个bean了
scope可以是application,session,request,page
不存在的话会在这个域中新建一个,并作为一个属性存在
class应该是一个全名,并且不能放在默认包中

<jsp:setProperty name="beanName"
property="propName" value="string-constant"/>String常量
<jsp:setProperty name="beanName"
property="propName" param="paramName"/>request参数
<jsp:setProperty name="beanName"
property="propName"/>
<jsp:setProperty name="beanName"
property="*"/>request参数是bean的字段
<jsp:setProperty name="beanName"
property="propName" value="expression"/>
<jsp:setProperty name="beanName"
property="propName" >
<jsp:attribute name="value">
expression
</jsp:attribute>
</jsp:setProperty>用表达式代替

取出可以用<jsp:getProperty name="beanName" property="propName"/>
或直接EL表达式

<%@includefile="filename" %>会在编译为servlet时处理
<jsp:include page="">则在jsp运行时处理,同servlet里的include
<jsp:forward page="">同理,就是重定向

include和forward的页面会得到原来的request,但response后就丢失了
<jsp:includepage="..." >
<jsp:paramname="param1" value="value1"/>可以包含一个参数,会覆盖原来的同名参数,Post方式
</jsp:include>

 

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

 

<c:set var="foo" scope="session" value="..."/>没有这个变量,会自动新建
<c:remove var="cart" scope="session"/>去除

<c:if test="${!empty param.Add}">    简单if
...
</c:if>

<c:choose>
<c:when test="${customer.category == ’trial’}" >  if-else
...
</c:when>
<c:when test="${customer.category == ’member’}" >
...
</c:when>
<c:when test="${customer.category == ’preferred’}" >
...
</c:otherwise>
</c:choose>

<c:forEach var="item" items="${sessionScope.cart.items}" varStatus="st">这个st代表迭代信息
...
</c:forEach>
可以遍历Collection,Map,List,Iterator,Enumeration,数组

map的话var会是entry,用var.key,var.value访问

Iterator,Enumeration是不能用varStatus的,
String里面的元素用","分隔的话也能遍历

 

<c:import url="" var="">可以用url路径,也就是任何路径

<c:redirect>就是重定向

他俩都可以加参数

<c:url var="url" value="/catalog" >就是会话跟踪时的URL重写,只能是相对路径
<c:param name="Add" value="${bookId}" />可以附加参数
</c:url>

<c:catch var="">用于错误页面得到异常信息,总是pageScope

 

<c:out>用于输出,可以处理特殊字符

 

JavaEE5 Tutorial_JavaBean,JSTL的更多相关文章

  1. J2EE中使用jstl报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar错

    一.发现问题 运行引用了jstl的jsp页面 报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or th ...

  2. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved

    偶在页面里引入了标签如下:     <%@   taglib   prefix="c"   uri="http://java.sun.com/jstl/core&q ...

  3. Jstl标签库/Filter过滤器

    JSTLJSP Standard Tag Library JSP标准标签库 是Sun公司定义的一套标准,由Apache组织基于这套标准开发的一套标准库之后又转给Sun公司被称为JSTL,成为了java ...

  4. 使用Jstl异常:The absolute uri: http://java.sun.com/jsp/jstl/core cannot&nbs

    错误提示是:        org.apache.jasper.JasperException: This absolute uri http://java.sun.com/jsp/jstl/core ...

  5. JSTL解析——002——core标签库01

    javaEE5之前的版本需要引用JSTL相关的jar包.tld文件等,JAEE5之后就不用这么麻烦了, 如果你的还是不能使用就去官网下载(jstl.jar和standard.jar)这两个jar包,将 ...

  6. JavaWeb之JSTL标签

    JSP中有了EL可以很方便的引用对象和属性,但是也有一些不足的地方,比如不能遍历对象列表这些,再加上JSTL(Java Standard Tag Library)的话那就完美了.JSTL主要包括cor ...

  7. org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be res

    解决:web项目出现如上问题,据查是版本问题: JSTL 1.0 的声明是: <%@ taglib prefix="c" uri="http://java.sun. ...

  8. jsp标签jstl和el表达式

    1.el表达式的使用 1)访问bean的属性 方式一: ${user.name},容器会依次从pageContext,request,session,application中查找(getAttribu ...

  9. jstl表达式的应用的条件

    在el表达式中,有时我们要写for循环,这时我们要写 <c:forEach items="${list}" var="news" > </c: ...

随机推荐

  1. Java API —— HashMap类 & LinkedHashMap类

    1.HashMap类 1)HashMap类概述         键是哈希表结构,可以保证键的唯一性 2)HashMap案例         HashMap<String,String>   ...

  2. java.util.zip.ZipOutputStream压缩无乱码(原创)

    package io; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.FileI ...

  3. sublime中文乱码

    今天在用sublime的时候,又出现乱码的情况了.弹层如下: 检测了一下,当前文件,sublime编辑器左下角显示如下: 显示的是 ASCII 编码的文件,而其他没有没问题的页面显示的的 GBK(或G ...

  4. poj 1151 Atlantis (离散化 + 扫描线 + 线段树 矩形面积并)

    题目链接题意:给定n个矩形,求面积并,分别给矩形左上角的坐标和右上角的坐标. 分析: 映射到y轴,并且记录下每个的y坐标,并对y坐标进行离散. 然后按照x从左向右扫描. #include <io ...

  5. 结构体mem_pool_t

    /** Memory area header */ typedef struct mem_area_struct mem_area_t; /** Memory pool */ typedef stru ...

  6. struct TABLE

    struct TABLE { TABLE() {} /* Remove gcc warning */ TABLE_SHARE *s; handler *file; TABLE *next, *prev ...

  7. Math.sqrt

    java.lang.Math.sqrt(double a) 返回正确舍入的一个double值的正平方根.特殊情况: 如果参数是NaN或小于为零,那么结果是NaN. 如果参数是正无穷大,那么结果为正无穷 ...

  8. Vagrant工具

    Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史. 我们可以通过 Va ...

  9. [反汇编练习] 160个CrackMe之013

    [反汇编练习] 160个CrackMe之013. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  10. Math.trunc