JspではJavaBeanを使用します
オリジナル作品は、転載を許可します.転載する時は必ずハイパーリンク形式で文章の原本の出所、作者の情報と本声明を明示してください.さもなくば法律責任を追及します.http://zhangjunhd.blog.51cto.com/113473/18210
JspではJavaBeanを使用します.
本論文では、JspでJavaBeanをどう使うかを紹介します.
1.JavaBeanコンポーネント標準
①java.io.Serializableインターフェースの実現
②パラメータなしの構造方法を提供する
③getter()とsetter()の方法を提供してその属性にアクセスします.
2.JSPでJavaBeanを使う
JSP仕様では、「jsp:useBen」、「jsp:set Property」、「jsp:useProperty」を定義して、JavaBenに対する参照を確立して、JavaBenの属性値を設定します.
2.1<Jsp:useBen>
①指定されたscopeでnameというJavaBeanのインスタンスを検索します.
②見つけたら、nameという名前の局所変数を作成し、その参照はJavaBeanを指す.見つかっていない場合は、このscopeでnameというタイプのJavaBeanを作成し、それに対応するローカル変数を作成します.
2.2
①name="beanName"は必須の属性です.その値はビーンの名前で、それ以前にJsp:useBeanで導入されたidです.
例:
[1]property="*"
これは、Bean属性を設定するショートカット方式であり、Beanでは、属性の名称、タイプは、requestオブジェクトのパラメータ名に一致しなければならない.requestオブジェクトの属性値に空きがある場合、対応するBean属性はいかなる値も設定されません.同様に、Beanのうちの一つの属性が対応するrequestパラメータ値を持っていないと、この属性は同様に設定されません.property="*"を使用して、Beanの属性はHTMLフォームの順序で並べ替えられません.
[2]property="propertyName"
requestの一つのパラメータ値を使用して,Beacnのうちの一つの属性値を指定した.ここで、propertyはBenの属性名を指定し、Bean属性とrequestパラメータの名称は同じであるべきです.requestオブジェクトのパラメータ値に空きがある場合、対応するBean属性はいかなる値も設定されない.
[3]property="propertyName"param="parameterName"
Bean属性の名称とrequestではパラメータの名前が異なる場合にこの方法を使用することができます.Paramは、requestのパラメータ名を指定します.requestオブジェクトのパラメータ値に空きがある場合、対応するBean属性はいかなる値も設定されません.
[4]property="propertyName"value="propertyValue"
valueは、指定された値を使用してビーンの属性を設定するオプションです.パラメータ値が空であれば、対応する属性値も設定されません.一つのの中で同時にparamとvalueを使うことができません.
2.3<Jsp:get Propty>
<jsp:get Property>操作は、ビーン属性にアクセスするための操作の追加です.
例:
3.登録例1、property=「*」を使用する.
UserBean.java
UserBean.javaは上記と同じです.
reg 2.
JspではJavaBeanを使用します.
本論文では、JspでJavaBeanをどう使うかを紹介します.
1.JavaBeanコンポーネント標準
①java.io.Serializableインターフェースの実現
②パラメータなしの構造方法を提供する
③getter()とsetter()の方法を提供してその属性にアクセスします.
2.JSPでJavaBeanを使う
JSP仕様では、「jsp:useBen」、「jsp:set Property」、「jsp:useProperty」を定義して、JavaBenに対する参照を確立して、JavaBenの属性値を設定します.
2.1<Jsp:useBen>
<jsp:useBean id=”name” class=”classname” scope={“page/request/session/application”}/>
実行プロセス:①指定されたscopeでnameというJavaBeanのインスタンスを検索します.
②見つけたら、nameという名前の局所変数を作成し、その参照はJavaBeanを指す.見つかっていない場合は、このscopeでnameというタイプのJavaBeanを作成し、それに対応するローカル変数を作成します.
2.2
<jsp:setProperty name=”beanName” propertyDetails/>
その中:①name="beanName"は必須の属性です.その値はビーンの名前で、それ以前にJsp:useBeanで導入されたidです.
例:
<jsp:useBean id=”usersession” scope=”session” class=”com.user.UserSession”>
<jsp:setProperty name=”usersession” property=”name” value=”Tom”/>
</jsp:useBean>
②propertyDetailは、4つの異なる方法で属性の情報を指定できます.[1]property="*"
これは、Bean属性を設定するショートカット方式であり、Beanでは、属性の名称、タイプは、requestオブジェクトのパラメータ名に一致しなければならない.requestオブジェクトの属性値に空きがある場合、対応するBean属性はいかなる値も設定されません.同様に、Beanのうちの一つの属性が対応するrequestパラメータ値を持っていないと、この属性は同様に設定されません.property="*"を使用して、Beanの属性はHTMLフォームの順序で並べ替えられません.
[2]property="propertyName"
requestの一つのパラメータ値を使用して,Beacnのうちの一つの属性値を指定した.ここで、propertyはBenの属性名を指定し、Bean属性とrequestパラメータの名称は同じであるべきです.requestオブジェクトのパラメータ値に空きがある場合、対応するBean属性はいかなる値も設定されない.
[3]property="propertyName"param="parameterName"
Bean属性の名称とrequestではパラメータの名前が異なる場合にこの方法を使用することができます.Paramは、requestのパラメータ名を指定します.requestオブジェクトのパラメータ値に空きがある場合、対応するBean属性はいかなる値も設定されません.
[4]property="propertyName"value="propertyValue"
valueは、指定された値を使用してビーンの属性を設定するオプションです.パラメータ値が空であれば、対応する属性値も設定されません.一つの
2.3<Jsp:get Propty>
<jsp:get Property>操作は、ビーン属性にアクセスするための
<jsp:getProperty name=”beanName” propertry=”propertyName”/>
①name="beanName"は必須の属性です.その値はビーンの名前で、それ以前にJsp:useBeanで導入されたidです.例:
<jsp:useBean id=”usersession” scope=”session” class=”com.user.UserSession”>
<jsp:getProperty name=”usersession” property=”name” />
</jsp:useBean>
②property=「propertyName」は必須の属性です.その値は指定されたBeanの属性名です.3.登録例1、property=「*」を使用する.
UserBean.java
package com.zj.sample;
import java.io.Serializable;
/**
* Create a JavaBean
*/
public class UserBean implements Serializable {
private static final long serialVersionUID = 1L;
public String userName;
public String password;
public int age;
public UserBean() {}
public void setUserName(String name) {
this.userName = name;
}
public void setPassword(String password) {
this.password = password;
}
public void setAge(int age) {
this.age = age;
}
public String getUserName() {
return this.userName;
}
public String getPassword() {
return this.password;
}
public int getAge() {
return this.age;
}
}
reg.<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Reg</title>
</head>
<body>
User Info:<br><hr>
<form method="get" action="reg.jsp">
<table>
// name="userName" UserBean
<tr><td>Name:<input name="userName" type="text"></td></tr>
//name="password" UserBean
<tr><td>Password:<input name="password" type="password"></td></tr>
//name="age" UserBean
<tr><td>Age:<input name="age" type="text"></td></tr>
<tr><td><input type="submit" value="submit"></td></tr>
</table>
</form>
</body>
</html>
reg.jsp<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<jsp:useBean id="user" scope="page" class="com.zj.sample.UserBean" />
<jsp:setProperty name="user" property="*" />// property="*"
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Show Info</title>
</head>
<body>
Reg successful!
// property="userName" UserBean
<br><jsp:getProperty name="user" property="userName" />
// property="password" UserBean
<br><jsp:getProperty name="user" property="password" />
// property="age" UserBean
<br><jsp:getProperty name="user" property="age" />
<br>
</body>
</html>
4.登録例2、param="parameterName"を使用する.UserBean.javaは上記と同じです.
reg 2.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Reg</title>
</head>
<body>
User Info:<br><hr>
<form method="get" action="reg2.jsp">
<table>
<tr><td>Name:<input name="USERNAME" type="text"></td></tr>
<tr><td>Password:<input name="PASSWORD" type="password"></td></tr>
<tr><td>Age:<input name="AGE" type="text"></td></tr>
<tr><td><input type="submit" value="submit"></td></tr>
</table>
</form>
</body>
</html>
reg 2.jsp<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<jsp:useBean id="user" scope="page" class="com.zj.sample.UserBean"/>
// property="userName" UserBean ,param="USERNAME"
<jsp:setProperty name="user" property="userName" param="USERNAME"/>
// property="password" UserBean ,param="PASSWORD"
<jsp:setProperty name="user" property="password" param="PASSWORD"/>
// property="age" UserBean ,param="AGE"
<jsp:setProperty name="user" property="age" param="AGE"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Show Info</title>
</head>
<body>
Reg successful!<br>
// property="userName" UserBean
Name:<jsp:getProperty name="user" property="userName"/><br>
// property="password" UserBean
Password:<jsp:getProperty name="user" property="password"/><br>
// property="age" UserBean
Age:<jsp:getProperty name="user" property="age"/><br>
</body>
</html>
この記事は「子ぼうず」のブログから出ていますので、ぜひこのソースを残してください.http://zhangjunhd.blog.51cto.com/113473/18210