include
用于页面引用其他页面内容
两种写法:
<jsp:include page="footer.jsp"></jsp:include>
<jsp:include page="footer.jsp" />
forward
用于重定向,可以填url,也可以填一个有输出值的程序片段<%=sum()%>
两种写法:
<jsp:forward page="Main.jsp"></jsp:forward>
<jsp:forward page="Main.jsp" />
param
用于其他动作标签的参数传递,将参数附在了request上
<jsp:include page="footer.jsp">
<jsp:param name="key" value="传给脚的信息"/>
</jsp:include><jsp:forward page="Main.jsp">
<jsp:param name="key2" value="跳转main"/>
</jsp:forward>
取参数:
<%=request.getParameter("key2")%>
useBean
<jsp:useBean id="eat" class="com.example.zzzzz.EatMeat" scope="session"></jsp:useBean>
代码含义:创建一个由class属性指定的类的实例对象,将该对象绑定到id的属性变量上,使用范围是session会话上。这里值得注意的是,它在创建的时候会自动搜索,在定义的范围内有没有同名同类同范围的实例对象,有的话,直接绑定,没有才会创建。
scope的属性为page,request,session,application。
在定义useBean使用的类时,必须是无构造参数的。
Java
public class EatMeat {
private String message="你好";
public String getmessage(){
return message;
}
public void setMessage(String message){
this.message=message;
}
}
使用:
<jsp:getProperty name="EatMeat" property="message"/>
这个getProperty就是用来取useBean的id对应的实例对象的参数的。property用来设置要取的参数名。
JSP引擎在内部会搜索上方定义的实例对象id=eat的内部方法:get+参数名+(),该方法不区分大小写。如果找不到,会报错。
找到之后对应该标签语句的位置自动输出。