JavaBean和JSP动作元素

    科技2024-11-06  15

    目录

    JavaBean代码写法 JSP动作元素jsp:useBean动作属性作用idclassscope jsp:setProperty和jsp:getProperty动作属性作用propertynamevalue 页面效果 jsp:forward和jsp:param属性作用pagevaluename 页面效果 jsp:include动作属性作用page 浏览效果

    JavaBean

    JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。里面的属性必须是私有的,这就是JavaBean。

    代码写法

    package top.xinsir.bean; // 类必须是公共的 public class User { // JavaBean的属性必须是私有的 private Integer id; private String name; private String userName; private Integer age; private String pwd; // 方法公共的 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public User(Integer id, String name, String userName, Integer age, String pwd) { super(); this.id = id; this.name = name; this.userName = userName; this.age = age; this.pwd = pwd; } public User(String name, String userName, Integer age, String pwd) { super(); this.name = name; this.userName = userName; this.age = age; this.pwd = pwd; } public User() { super(); } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", userName=" + userName + ", age=" + age + ", pwd=" + pwd + "]"; } }

    JSP动作元素

    jsp:useBean动作

    在默认的index.jsp页面写入,body代码:

    <body> <!-- 声明一个javabean --> <jsp:useBean id="user" class="top.xinsir.bean.User" scope="request"></jsp:useBean> </body>

    属性作用

    id

    指明JavaBean对象的名称,JSP中可以使用该名称引用该JavaBean对象

    class

    JavaBean类的全名

    scope

    该JavaBean对象的范围,当为page时只在该JSP内有效。当为request时只在本次的request请求过程中有效。当为session时对当前用户有效。当为application时当前web应用程序内有效,默认为page。

    jsp:setProperty和jsp:getProperty动作

    jsp:setProperty给javabean中的属性赋值,数据从request中的属性来 jsp:getProperty获取javabean中的属性值并打印到页面 在index.jsp页面写入:

    <body> <!-- 声明一个javabean --> <jsp:useBean id="user" class="top.xinsir.bean.User" scope="request"></jsp:useBean> <!-- 给这个javabean中的属性赋值,数据从request中的属性来,这里面也就是从info.jsp页面传递过来 --> <jsp:setProperty property="userName" name="user" value="admin" /> <jsp:setProperty property="pwd" name="user" value="123456" /> <jsp:setProperty property="name" name="user" value="lisi" /> <!-- 获取javabean中的属性值并打印出来 --> <jsp:getProperty property="userName" name="user" /> <jsp:getProperty property="pwd" name="user" /> <jsp:getProperty property="name" name="user" /> </body>

    属性作用

    property

    指定JavaBean属性名称

    name

    指定对JavaBean类的引用,与userBean中的id一致

    value

    设置javabean该属性值

    页面效果

    部署该项目后打开浏览器输入index.jsp页面,效果:

    jsp:forward和jsp:param

    jsp:forward动作就相当于转发 jsp:param动作就相当于转发时setAttribute设置的值,是jsp:forward的子元素 新建一个info.jsp页面写入:

    <body> <jsp:forward page="index.jsp"> <jsp:param value="admin" name="userName" /> <jsp:param value="123" name="pwd" /> <jsp:param value="zhangsan" name="name" /> </jsp:forward> </body>

    属性作用

    page

    需要转接的页面

    value

    传递的值

    name

    传递值的名字

    页面效果

    使用jsp:forward动作后index.jsp页面setProperty里面的value就可以删除了,不然会起冲突 红色部分全部删除

    打开浏览器输入info.jsp,效果: 可以看到虽然地址栏是info.jsp但是浏览的页面是index.jsp页面,所以jsp:forward动作就相当于转发

    jsp:include动作

    jsp:include动作用于当前的JSP页面中,在当前使用该指令的位置嵌入其他的文件,如果被包含的文件中有可执行的代码,则显示代码执行后的结果。 新建一个login登录页面

    <body> <form> 用户名: <input type="text" name="userName" /><br /> 密码: <input type="text" name="pwd" /> <input type="submit" value="登录" /> </form> </body>

    再新建一个login1.jsp第二个登录页面:

    <body> <form> 用户名: <input type="text" name="userName" /><br /> 密码: <input type="text" name="pwd" /> <input type="submit" value="登录" /> </form> <jsp:include page="login.jsp"></jsp:include> </body>

    属性作用

    page

    被包含的文件的绝对路径和相对路径

    浏览效果

    打开浏览器输入login1.jsp login1.jsp页面包含了login.jsp页面,这个就是jsp:include动作

    以上就是JavaBean和JSP动作元素了

    Processed: 0.021, SQL: 8