getProperty动作:
取指定Bean属性的值,转换为一个字符串,将其插入到页面,然后输出。
实际上是调用了Bean的get()方法,在使用该动作之前,必须先用<jsp:usebean>来创建它,
语法格式如下:
<jsp:useBean id="myName" ... />
...
<jsp:getProperty name="myName" property="someProperty" .../>
Jsp:getproperty有两个必须属性:Name和property提取的值。
下面是一个简单的登陆跳转页面供参考:
package com.dbs.pojo; //JavaBean code
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
public class User implements Serializable{
private String username=""; //用户名
private String passwd =""; //密码
Map<String,String> userMap = null;//存放用户
Map<String,String> errorsMap = null;//存放错误信息
public User() {
super();
this.username = "";
this.passwd = "";
userMap = new HashMap<String,String>();
errorsMap = new HashMap<String,String>();
//添加用户,模拟从数据库中查询出的数据库
userMap.put("zhangsan", "123zs");
userMap.put("lisi", "123zs");
userMap.put("wangwu", "123zs");
userMap.put("zhaoqi", "123zs");
userMap.put("zhengliu", "123zs");
}
//数据校验
public boolean isValidate() {
boolean flag = true;
//用户名验证
if(!this.userMap.containsKey(this.username)) {
flag=false;
errorsMap.put("username", "该用户不存在!");
this.username ="";
}
String password = this.userMap.get(this.username);
if(password == null||!password.equals(this.passwd)) {
flag = false;
this.passwd ="";
errorsMap.put("passwd", "密码错误,请重新输入!");
this.username="";
}
return flag;
}
//获取错误信息
public String getErrors (String key) {
String errorV = this.errorsMap.get(key);
return errorV == null?"":errorV;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="user" class="com.dbs.pojo.User" scope="session"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>用户登录</p>
<form action="check.jsp" method="post">
<table border="1" width="250px;">
<tr>
<td width="75px;">用户名:</td>
<td>
<input name="username" value="<jsp:getProperty name="user" property="username"/>"/>
<!-- 用户错误信息 -->
<span style="color:red"><%=user.getErrors("username") %></span><br>
</td>
</tr>
<tr>
<td width="75px;">密 码:</td>
<td>
<input name="passwd" type="password" value="<jsp:getProperty name="user" property="passwd"/>"/>
<!-- 密码错误信息 -->
<span style="color:red"><%=user.getErrors("passwd") %></span><br>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
</html>
check.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="user" class="com.dbs.pojo.User" scope="session"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证用户</title>
</head>
<body>
<jsp:setProperty property="*" name="user"/>
<%
if(user.isValidate()){
%>
<jsp:forward page="success.jsp"></jsp:forward>
<%
}else{
%>
<jsp:forward page="login.jsp"></jsp:forward>
<%
}
%>
</body>
</html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="user" class="com.dbs.pojo.User" scope="session"></jsp:useBean>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证用户</title>
</head>
<body>
<center>
<h4>欢迎您!
<span style="color:red">
<jsp:getProperty property="username" name="user"/>
</span>用户!
</h4>
</center>
</body>
</html>
不足之处请指正,一起学习一起进步!