<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>用于输出,可以处理特殊字符