📄 detail.htm
字号:
nspluginurl="URLToPlugin" <br>
Netscape Navigator用户能够使用的JRE的下载地址,此值为一个标准的URL,如http://www.aspcn.com/jsp <br>
<br>
iepluginurl="URLToPlugin"<br>
IE用户能够使用的JRE的下载地址,此值为一个标准的URL,如http://www.aspcn.com/jsp <br>
<br>
<jsp:params> [ <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> ]+ </jsp:params><br>
你需要向applet或Bean传送的参数或参数值。 <br>
<br>
<jsp:fallback> text message for user </jsp:fallback><br>
一段文字用于Java 插件不能启动时显示给用户的,如果插件能够启动而applet或Bean不能,那么浏览器会有一个出错信息弹出.<br>
<p><font color="#FF0000">
<jsp:setProperty><br>
</font><p>
设置Bean中的属性值. <br>
<br>
JSP语法<br>
<jsp:setProperty <br>
name="beanInstanceName" <br>
{ <br>
property= "*" | <br>
property="propertyName" [ param="parameterName" ] | <br>
property="propertyName" value="{string | <%= expression %>}" <br>
} <br>
/> <br>
例子<br>
<jsp:setProperty name="mybean" property="*" /> <br>
<jsp:setProperty name="mybean" property="username" /> <br>
<jsp:setProperty name="mybean" property="username" value="Steve" /> <br>
描述<br>
<jsp:setProperty>元素使用Bean给定的setter方法,在Bean中设置一个或多个属性值。你在使用这个元素之前必须得使用<jsp:useBean>声明此Bean.因为,<jsp:useBean>和<jsp:setProperty>是联系在一起的,同时这他们使用的Bean实例的名字也应当相匹配(就是说,在<jsp:setProperty>中的name的值应当和<jsp:useBean>中id的值相同) <br>
<br>
你能使用多种方法利用<jsp:setProperty>来设定属性值 : <br>
<br>
通过用户输入的所有值(被做为参数储存中request对象中)来匹配Bean中的属性 <br>
通过用户输入的指定的值来匹配Bean中指定的属性 <br>
在运行时使用一个表达式来匹配Bean的属性 <br>
每一种设定属性值的方法都有其特定的语法,下面我们会来讲解 <br>
<br>
属性及其用法<br>
name="beanInstanceName"<br>
表示已经在<jsp:useBean>中创建的Bean实例的名字. <br>
<br>
property="*"<br>
储存用户在Jsp输入的所有值,用于匹配Bean中的属性。在Bean中的属性的名字必须和request对象中的参数名一致. <br>
<br>
从客户传到服器上的参数值一般都是字符类型 ,这些字符串为了能够在Bean中匹配就必须转换成其它的类型,下面的表中列出了Bean属性的类型以及他们的转换方法.<br>
<br>
把字符串转化为其它类型的方法. Property 类型 <br>
方法 <br>
boolean or Boolean <br>
java.lang.Boolean.valueOf(String) <br>
byte or Byte <br>
java.lang.Byte.valueOf(String) <br>
char or Character <br>
java.lang.Character.valueOf(String) <br>
double or Double <br>
java.lang.Double.valueOf(String) <br>
integer or Integer <br>
java.lang.Integer.valueOf(String) <br>
float or Float <br>
java.lang.Float.valueOf(String) <br>
long or Long <br>
java.lang.Long.valueOf(String) <br>
<br>
如果request对象的参数值中有空值,那么对应的Bean属性将不会设定任何值。同样的,如果Bean中有一个属性没有与之对应的Request参数值,那么这个属性同样也不会设定. <br>
<br>
property="propertyName" [ param="parameterName" ]<br>
使用request中的一个参数值来指定Bean中的一个属性值。在这个语法中,property指定Bean的属性名,param指定request中的参数名. <br>
<br>
如果bean属性和request参数的名字不同,那么你就必须得指定property和param ,如果他们同名,那么你就只需要指明property就行了. <br>
<br>
如查参数值为空(或未初始化),对应的Bean属性不被设定. <br>
<br>
property="propertyName" value="{string | <%= expression %>}"<br>
使用指定的值来设定Bean属性。这个值可以是字符串,也可以是表达式。如果这个字符串,那么它就会被转换成Bean属性的类型(查看上面的表).如果它是一个表达式,那么它类型就必须和它将要设定的属性值的类型一致。 <br>
<br>
如果参数值为空,那么对应的属性值也不会被设定。另外,你不能在一个<jsp:setProperty>中同时使用param和value <br>
<br>
技巧<br>
如果你使用了property="*",那么Bean的属性没有必要按Html表单中的顺序排序 <br>
<p><font color="#FF0000">
<jsp:useBean><br>
</font><p>
创建一个Bean实例并指定它的名字和作用范围. <br>
<br>
JSP 语法<br>
<jsp:useBean <br>
id="beanInstanceName" <br>
scope="page | request | session | application" <br>
{ <br>
class="package.class" | <br>
type="package.class" | <br>
class="package.class" type="package.class" | <br>
beanName="{package.class | <%= expression %>}" type="package.class" <br>
} <br>
{ <br>
/> | <br>
> other elements </jsp:useBean> <br>
} <br>
例子<br>
<jsp:useBean id="cart" scope="session" class="session.Carts" /> <br>
<jsp:setProperty name="cart" property="*" /> <br>
<jsp:useBean id="checking" scope="session" class="bank.Checking" > <br>
<jsp:setProperty name="checking" property="balance" value="0.0" /> <br>
</jsp:useBean> <br>
<br>
描述<br>
<jsp:useBean>用于定位或示例一个JavaBeans组件。<jsp:useBean>首先会试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一个class或模版中进行示例。 <br>
<br>
为了定位或示例一个Bean,<jsp:useBean>会进行以下步聚,顺序如下: <br>
<br>
通过给定名字和范围试图定位一个Bean. <br>
对这个Bean对象引用变量以你指定的名字命名. <br>
如果发现了这个Bean,将会在这个变量中储存这个引用。如果你也指定了类型,那么这个Bean也设置为相应的类型. <br>
如果没有发现这个Bean,将会从你指定的class中示例,并将此引用储存到一个新的变量中去。如果这个class的名字代表的是一个模版,那么这个Bean被java.beans.Beans.instantiate示例. <br>
如果<jsp:useBean>已经示例(不是定位)了Bean,同时<jsp:useBean>和</jsp:useBean>中有元素,那么将会执行其中的代码. <br>
<jsp:useBean>元素的主体通常包含有<jsp:setProperty>元素,用于设置Bean的属性值。正如上面第五步所说的,<jsp:useBean>的主体仅仅只有在<jsp:useBean>示例Bean时才会被执行,如果这个Bean已经存在,<jsp:useBean>能够定位它,那么主体中的内容将不会起作用 <br>
<br>
属性以及用法<br>
id="beanInstanceName"<br>
在你所定义的范围中确认Bean的变量,你能在后面的程序中使用此变量名来分辨不同的Bean <br>
<br>
这个变量名对大小写敏感,必须符合你所使用的脚本语言的规定,在Java Programming Language中,这个规定在Java Language 规范已经写明。如果这个Bean已经在别的<jsp:useBean>中创建,那么这个id的值必须与原来的那个id值一致. <br>
<br>
scope="page | request | session | application"<br>
Bean存在的范围以及id变量名的有效范围。缺省值是page,以下是详细说明: <br>
<br>
page - 你能在包含<jsp:useBean>元素的JSP文件以及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。<br>
<br>
request - 你在任何执行相同请求的Jsp文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。你能够使用Request对象访问Bean,比如request.getAttribute(beanInstanceName)<br>
<br>
session - 从创建Bean开始,你就能在任何使用相同session的Jsp文件中使用Bean.这个Bean存在于整个Session生存周期内,任何在分享此Session的Jsp文件都能使用同一Bean.注意在你创建Bean的Jsp文件中<% @ page %>指令中必须指定session=true<br>
<br>
application - 从创建Bean开始,你就能在任何使用相同application的Jsp文件中使用Bean.这个Bean存在于整个application生存周期内,任何在分享此application的Jsp文件都能使用同一Bean. <br>
class="package.class"<br>
使用new关键字以及class构造器从一个class中示例一个bean.这个class不能是抽象的,必须有一个公用的,没有参数的构造器.这个package的名字区别大小写。 <br>
<br>
type="package.class"<br>
如果这个Bean已经在指定的范围中存在,那么写这个Bean一个新的数据库类型 。如果你没有使用class或beanName指定type,Bean将不会被示例.package和class的名字,区分大小写. <br>
<br>
beanName="{package.class | <%= expression %>}" type="package.class"<br>
使用java.beans.Beans.instantiate方法来从一个class或连续模版中示例一个Bean,同时指定Bean的类型。 <br>
<br>
beanName可以是package和class也可以是表达式,它的值会传给Beans.instantiate.tupe的值可以和Bean相同。 <br>
<br>
package 和 class 名字区分大小写.<p>
<p>
<font color="#FF00FF">如何实现重定向</font><p><br>
example1:<br>
< %@ include file="../gconnection.jsp"%><br>
< html><br>
< head><br>
< title>用户登录< /title><br>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br>
< /head><br>
< table width="100%" border="0" cellspacing="0" cellpadding="0" height="250"><br>
< %Statement stmt = conn.createStatement();<br>
String user_id=request.getParameter("user_id");<br>
String user_pw=request.getParameter("pw");<br>
String sql="select user_id,user_password from cicp_member_user where user_id='"+user_id+"' and <br>
<br>
user_password='"+user_pw+"'";<br>
ResultSet rset = stmt.executeQuery (sql);%><br>
< % if (rset.next()) { %> <br>
< % <br>
String userid="";<br>
String userpw="";<br>
session.putValue("userid",user_id);<br>
response.sendRedirect("bbs/bbs_default.jsp");%><br>
< % } else {<br>
response.sendRedirect("userreg/error.htm");%><br>
< % }<br>
stmt.close();%><br>
< /table><br>
< /body><br>
< /html><br>
example2:<br>
< html><br>
< % <br>
double freeMem = Runtime.getRuntime().freeMemory();<br>
double totlMem = Runtime.getRuntime().totalMemory();<br>
double percent = freeMem/totlMem;<br>
if (percent < 0.5) {<br>
%><br>
< jsp:forward page="/jsp/forward/one.jsp"/><br>
< % } else { %><br>
< jsp:forward page="two.html"/><br>
< % } %><br>
< /html><br>
<br>
(此文由 www.aspcn.com 翻译,但这里补充了最后一个部分)<br>
</td>
</tr>
<!-- 以下是底边-->
<tr>
<td colspan="2" height="10"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#90d0c0" align="right" height="30"><p align="center"><font
color="#FF0000"><a href="mailto:Blueski@public7.sta.net.cn"><strong>小龙亭工作室
Blueski</strong></a> Copyleft: 2000/6</font>
</td>
</tr>
</table>
</center></div></div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -