目录
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动作元素了