<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>
使用JSP Bean.

使用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