登录界面功能分析:
页面中间展示页面登录框,能够根据用户输入的用户名(手机号)、密码的正确与否进行判断是否登录。还有 “忘记密码?”功能,点击“忘记密码?”后会弹出一个幕布层,中间有一个对话框,会提示用户输入用户名(手机号),然后进行短信验证,验证成功后会显示密码信息。然后用户可以重新登录。
鼠标经过个人菜单:”
显示下拉框:
1 基本资料;
点击个人资料,显示个人资料编辑界面
2 密码修改;
点击密码修改,显示密码编辑界面
3 头像修改;
点击头像修改,显示头像修改界面
鼠标经过审核菜单:”
显示下拉框:
1. 我的提交;
显示我提交合同列表;
点击可进行详细内容的查看;
点击删除/编辑可以进行对应的操作;
2. 审核列表;
点击选中的合同可以进行审批/不同意
3. 用户列表;
点击可以显示用户列表界面;
显示相应添加用户/编辑用户/删除用户:点击可以进行相对应的操作
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
登录界面设计 | 登录功能的实现 | 基本资料修改
| 头像修改 密码修改 | 审核:显示我提交的合同 审批所有员工的合同 | 查看员工列表; 查询员工; 新增员工; | 编辑员工; 删除员工;
| 新增小区; 显示小区[楼盘]列表; 查询小区 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
错误:
Property 'id' not found on type java.lang.String问题解决
一般出现上述问题:存在两种情况
1、你的程序的属性没有提供getter方法
2、在<c:forEach var="list" items="${requestScope.list}" varStatus="vs">这里你没有采取EL表达式
但是我却犯了一个很弱智的错误 在这里items="${requestScope.list}"我写成了 items=" ${requestScope.list}",多了一个空格,一直出现上述错误
标准标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
时间格式装换:
<fmt:formatDate value="${staff.hire_date }" pattern="yyyy-MM-dd"/>
手机号码的正则表达式:
function checkPhone(){
var phone = document.getElementById('phone').value;
var rule=/^1[34578]\d{9}$/;
if(!(rule.test(phone))){
alert("手机号码有误,请重填");
return false;
}
}
密码的正则表达式:
正则表达式校验密码
1、密码必须由数字、字符、特殊字符三种中的两种组成;
2、密码长度不能少于8个字符;
Rule=/^((?!^\\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{8,})$/;
//强:字母+数字+特殊字符
/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/
//中:字母+数字,字母+特殊字符,数字+特殊字符
/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/
//弱:纯数字,纯字母,纯特殊字符
/^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$/
//校验用户姓名:只能输入1-30个以字母开头的字串
var patrn=/^[a-zA-Z]{1,30}$/;
匹配完整域名的正则表达式:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
//重定向的错误
return "redirect:main_showStaffList.do";
第一步,导入包;[文件上传时需要的输入输出流进行封装]
第二步,配置依赖[控制反转IoC][在spring-servlet.xml的配置文件里头]
<!-- 文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 配置文件的上传尺寸 -->
<property name="maxUploadSize">
<value>1048576</value>
</property>
</bean>
第三步,相应的jsp页面
<body>
<center class="file-box">
<form action="upLoadPic.do"
method="post" enctype="multipart/form-data">
<input type='text' name='textfield' id='textfield' class='txt' />
<input type='button' class='btn' value='浏览...' />
<input type="file" name="file" class="file" id="fileField" size="28" οnchange="document.getElementById('textfield').value=this.value"/>
<input type="submit" class="btn" value="上传" />
</form>
<h5>上传结果:</h5>
<img id="img" class="myStaffHead" alt="暂无图片" src="${fileUrl}" />
</center>
</body>
相对应的controll类:
@RequestMapping("upLoadPic")
public String upLoadPic(@RequestParam("file") CommonsMultipartFile file,
HttpServletRequest request, ModelMap model,HttpSession session){
// 获得原始文件名
String fileName = file.getOriginalFilename();
System.out.println("原始文件名:" + fileName);
//更新员工头像
Staff staff=(Staff)(session).getAttribute("loginStaff");
staff.setHead(fileName);
staffService.updateStaffHead(staff);
session.setAttribute("loginStaff", staff);
//新文件名
String newFileName = fileName;
//获得项目的路径
ServletContext sc = request.getSession().getServletContext();
//上传位置
String path = sc.getRealPath("/images/head") + "/"; //设定文件保存的目录
File f = new File(path);
if (!f.exists())
f.mkdirs();
if (!file.isEmpty()) {
try {
FileOutputStream fos = new FileOutputStream(path + newFileName);
InputStream in = file.getInputStream();
int b = 0;
while ((b = in.read()) != -1) {
fos.write(b);
}
fos.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
// System.out.println("上传图片到:" + path + newFileName);
//保存文件地址,用于JSP页面回显
model.addAttribute("fileUrl", "images/head/"+ newFileName);
//System.out.println("上传图片到:" +"images/head/"+ newFileName);
return "main_updateHead";
}