<JSP:SetProperty/>:
此标记用于将值设置为相对于<JSP:USEBean 标记创建的JavaBeans类对象。
语法-1:
<JSP:setProperty name="object name of a JavaBeans class"
Property="property name of JavaBeans class"
Value="value for property"
例如:
<JSP:useBean id="eo" class="ep.Emp">
<JSP:setProperty name="eo"
Property="empno"
Value="123"
</JSP:useBean>
当容器执行上述语句时,将进行以下语句。
ep.Emp eo=new ep.Emp ();
eo.setEmpno ("123");
以上语法用于通过静态传递特定值来调用特定的SET方法。
语法-2:
<JSP:setProperty name="object name of a JavaBeans class"
property="*"
上面的语法用于通过动态传递值来调用所有通用设置方法。
例如:
<JSP:useBean id="eo" class="ep.Emp">
<JSP:setProperty name="eo" property="*"
</JSP:useBean>
动态地,我们可以通过HTML程序将值传递给JSP页面。
HTML程序的所有表单字段必须与JavaBeans类的数据成员或者属性类似,并且我们必须定义一组设置方法的顺序。
bean.jsp:
<html>
<body>
<jsp:useBean id="obj" class="tp.TechBean">
<jsp:setProperty name="obj" property="*"
</jsp:useBean>
<h3>Result of bean action tags</h3>
Hello <jsp:getProperty name="obj" property="b1_name"<p>
<jsp:getProperty name="obj" property="b1_lang"<p>
<jsp:getProperty name="obj" property="langComments"<p>
<h3>Result of expression tags</h3> Name : <%= obj.getName()%><br> Language : <%= obj.getLang()%><br> Comment : <%= obj.getLangComments%>
</body>
</html>
checkbean.jsp:
<%@ page import="mypack.CheckBean" %>
<jsp:useBean id="check" class="CheckBean" scope="session">
<jsp:setProperty name="check" property="*"
</jsp:useBean>
<%= check.validate()%>
bean.html:
<html>
<body>
<h3>Bean tag test</h3>
<form name="b1" action="bean.jsp" method="post">
Enter ur name : <input type="text" name="b1_name"><p> Select the language :
<select name="b1_lang">
<option value=""></option>
<option value="c"> C </option>
<option value="c++"> C++ </option>
<option value="java"> Java </option>
<option value=".net"> .NET </option>
</select><p>
<input type="submit" value="Send">
<input type="reset" value="Clear">
</form>
</body>
</html>
使用JavaBean类进入JSP页面,使用以下标记使用JavaBean类作为JSP的一部分:
TechBean.java:
package tp;
public class TechBean {
String name;
String lang;
public TechBean() //recommended to write
{
}
public void setName(String name) {
this.name = name;
}
public void setLang(String lang) {
this.lang = lang;
}
public String getName() {
return name;
}
public String getLang() {
return lang;
}
public String getLangComments() {
if (lang.equals("c")) {
return ("Mahesh is the best faculty");
} else if (lang.equals("c++")) {
return ("Kalyan is the best institute for it");
} else if (lang.equals("java")) {
return ("Suresh is the best faculty ");
} else if (lang.equals(".net")) {
return ("Dinesh is the best faculty ");
} else {
return ("No idea..!");
}
}
};
例如(bean2):
<JSP:useBean/>:
此标记用于创建JavaBeans类的对象作为JSP页面的一部分。
语法:
<JSP:useBean id="object name of a JavaBeans class"
class="fully qualified name of JavaBeans class"
scope="scope attribute"
type="name of base interface or class"
- 其中JSP表示使用的前缀或者短名称标记。
- UseBean表示表示JavaBeans类的详细信息的标签。
- ID和名称是UseBean标记的必需属性。
- ID表示JavaBeans类的对象名称。
- 名称代表了javabeans类的完全限定名称。
- 范围表示JavaBeans类的可见性或者可访问性。
scope属性表示以下任一项:
- 页面 - 表示javabeans类对象只能在当前的JSP页面中访问。它无法在另一个JSP页面中访问。默认情况下,范围是页面。
- 请求 - 表示javabeans类对象,可以在参与处理单个请求的JSP页面中访问。
- 会话 - 表示javabeans类对象可以在参与会话的所有JSP页面中访问,并且无法访问不参与会话的JSP页面中。
- 应用程序 - 表示javabeans类对象可以在属于同一Web应用程序的所有JSP页面中访问,但无法访问属于其他Web应用程序的JSP页面。
type属性表示JavaBeans类的基础接口或者类名的规范。
例如:
<JSP:useBean id="eo"
class="ep.Emp"
scope="session"
type="ep.GenEmp"
当执行上述语句时,容器创建一个对象EO以下列方式创建:
ep.GenEmp eo=new ep.Emp ();
如果我们未指定类型属性的值,则以以下方式创建对象EO:
ep.Emp eo=new ep.Emp ();
注意:在上面<JSP:USEBean 标记中,如果我们使用称为<JSP:setProperty 的标记,那么该标签变为<JSP:USEBean 标记的身体标记。
checkbean.java:
package mypack;
public class CheckBean {
String uname;
String pwd;
public CheckBean() {
}
public void setUname(String uname) {
this.uname = uname;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getUname() {
return uname;
}
public String getPwd() {
return pwd;
}
public boolean validate() {
if (uname.equals("asha") && pwd.equals("krishna")) {
return (true);
} else {
return (false);
}
}
};
<JSP:GetProperty/> :
此标记用于检索JavaBeans类对象的值。
语法:
<JSP:getProperty name="object name of JavaBeans class"
property="property name of JavaBeans class"
例如:
<JSP:getProperty name="eo" property="empno"
[或者]
<%= eo.getEmpno()%>
示例:
web.xml:
<web-app> </web-app>
web.xml:
<web-app> </web-app>
checkbean.html:
<html>
<body>
<form name="checkbean" action="CheckBean.jsp" method="post">
Enter user name : <input type="text" name="checkbean_name" value=""><br>
Enter password : <input type="password" name="checkbean_pwd" value=""><br>
<input type="submit" value="Send">
<input type="reset" value="Clear">
</form>
</body>
</html>
日期:2020-04-11 23:04:39 来源:oir作者:oir
