9018041399502
javabean
<jsp:useBean
id 表示实例化对象的名称
scope 表示使用范围
class 对象所属的包,包名加类名
>
<jsp:setproperty
name 表示已声明的javabean对象(id)
property 表示要设置的属性,如果为"*",则表示自动匹配!可以根据自己需要设置的内容而设置
>
scope="page | request | session | application"
page 范围 :属性只在当前页面有效,如果从新跳转其它页面,则需要从新实例化
适用于JSP操作资源时使用,比如对数据库操作,将数据库封装成javabean
当前页资源使用后就关闭,不要留在下个页面
request 范围 : 只保存在服务器一次跳转中
session 范围 :属性保存在一次会话中,可以使用任意方式连接其它页面,则此对象只实例化一次
适用于:JSP购物车
application 范围:属性共有,此对象在整个服务器上只使用一次,尽量少用,占用资源
param
这是一个可选属性。它指明了bean的属性应该继承的request的参数。如果当前的request没有这样的一个参数,
就什麽也不做:系统并不将null传给设置属性的方法。
因此,您可以使用bean的缺省值。
例如下面的这段程序执行“将numberofitems属性设置为任意numitems request参数的值,
如果有这样的一个request参数,否则什么也不做。”
案例:猜数字
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="Hello.GuessNumber" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<body>
<%int n=(int)(Math.random()*100+1); %>
随机产生的数是:<%out.print(n);%>
<jsp:useBean id="guess" class="Hello.GuessNumber" scope="session"></jsp:useBean>
<jsp:setProperty property="answer" name="guess" value="<%=n%>" />
<form action="guess.jsp" method="post">
输入你猜的数字
<input type="text" name="guessNumber">
<input type="submit" value="提交">
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="Hello.GuessNumber"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<body>
<jsp:useBean id="guess" class="Hello.GuessNumber" scope="session"></jsp:useBean>
<jsp:setProperty property="guessNumber" name="guess"
param="guessNumber" />
<br>
<jsp:getProperty property="result" name="guess" />
<br>
这是第
<jsp:getProperty property="guessCount" name="guess" />次猜
<br>
你给出的数字是
<jsp:getProperty property="guessNumber" name="guess" />
<form action="guess.jsp" method="post">
再次输入你猜的数字
<input type="text" name="guessNumber">
<input type="submit" value="提交">
</form>
<form action="index.jsp" method="post">
<input type="submit" value="重新玩">
</form>
</body>
</html>