EmployeeValidator.javapackage by.testweb.web.validators;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import by.testweb.dto.EmployeeDto;
public class EmployeeValidator implements Validator {
final Log logger = LogFactory.getLog(getClass());
public boolean supports(Class<?> clazz) {
return EmployeeDto.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
EmployeeDto employee = (EmployeeDto)target;
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "error.employee.name.empty");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "department", "error.employee.department.empty");
try{
Integer wage = Integer.valueOf(employee.getWage());
if(wage<=0){
errors.rejectValue("wage", "error.employee.wage.negative");
}
}catch(Exception e){
errors.rejectValue("wage", "error.employee.wage.negative");
}
}
}
DepartmentValidator.java
package by.testweb.web.validators;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import by.testweb.dto.DepartmentDto;
public class DepartmentValidator implements Validator {
final Log logger = LogFactory.getLog(getClass());
public boolean supports(Class<?> clazz) {
return DepartmentDto.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "error.department.name.empty");
}
}
Style.css
@charset "utf-8";
/*global*/
html, body {
margin: 0;
padding: 0;
font-family: verdana, arial;
}
#container {
width: 100%;
margin: 0 auto;
padding: 0;
}
#header {
width: 100%;
height: 45px;
background: #7ca3b8;
border-bottom: 5px solid Gray;
font-size: 25px;
vertical-align: center;
color: #ffffff;
text-align: left;
}
#content {
font-size: 12px;
margin-left: 20px;
margin-top: 20px;
}
#footer {
width: 100%;
height: 15px;
background: #7ca3b8;
border-top: 5px solid Gray;
font-size: 10px;
text-align: center;
color: #ffffff;
bottom: 0px;
position: absolute;
}
/*----------------------------*/
#buttons{
background: #7ca3b8;
border: 1px solid Gray;
}
#inputs{
border: 1px solid Gray;
}
#departmentsTable{
border: 1px solid Gray;
}
#employersTable{
border: 1px solid Gray;
}
Index.jsp
<jsp:forward page="Departments.html"/>
Footer.jsp
<%@ include file="/WEB-INF/jspx/Global.jsp" %>
<spring:message code="footer.content"/>
Global.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
Header.jsp
<%@ include file="/WEB-INF/jspx/Global.jsp" %>
<spring:message code="header.content"/>
MainTemplate.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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><tiles:insertAttribute name="title"/></title>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>
<body>
<div id="container">
<div id="header">
<tiles:insertAttribute name="header"/>
</div>
<div id="content">
<tiles:insertAttribute name="content"/>
</div>
<div id="footer">
<tiles:insertAttribute name="footer"/>
</div>
</div>
</body>
</html>
Employers.jsp
<%@ include file="/WEB-INF/jspx/Global.jsp" %>
<form:form method="POST" commandName="employee" action="Employers.html">
<table id="employersTable"><tr><td>
<table>
<tr>
<td>
<spring:message code="employee.label.name"/>
</td>
<td>
<spring:message code="employee.label.wage"/>
</td>
</tr>
<tr>
<td>
<form:input path="name" style="width:450px" id="inputs"/>
</td>
<td>
<form:input path="wage" style="width:115px" id="inputs"/>
</td>
</tr>
<tr>
<td colspan="2">
<font size=1 color="red">
<form:errors path="name"/>
</font>
<br>
<font size=1 color="red">
<form:errors path="wage"/>
</font>
</td>
</tr>
<tr>
<td colspan="2">
<form:select path="department" items="${departments}" itemValue="id" itemLabel="name" id="inputs" style="width:565px"/>
<input id="buttons" type="submit" name="getDepartment" style="width:30px" value='<spring:message code="employee.departmentButton"/>' <c:if test="${(departments == null)}">disabled</c:if>>
</td>
</tr>
<tr>
<td colspan="2">
<font size=1 color="red">
<form:errors path="department"/>
</font>
</td>
</tr>
</table>
<table>
<tr>
<td>
<input id="buttons" type="submit" name="save" style="width:197px" value='<spring:message code="employee.saveButton"/>'>
</td>
<td>
<input id="buttons" type="submit" name="new" style="width:197px" <c:if test="${isNew}">disabled</c:if> value='<spring:message code="employee.newButton"/>'>
</td>
<td>
<input id="buttons" type="submit" name="delete" style="width:197px" <c:if test="${isNew}">disabled</c:if> value='<spring:message code="employee.deleteButton"/>'>
</td>
</tr>
<tr>
<td colspan="3">
<form:select multiple="true" size = "15" path="id" items="${employers}" itemValue="id" itemLabel="fullName" id="inputs" style="width:600px" onClick="submit()" disabled="${employers == null}"/>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<input id="buttons" type="submit" name="return" style="width:197px" value='<spring:message code="employee.returnButton"/>'>
</td>
</tr>
</table>
</td></tr></table>
</form:form>
Departments.jsp
<%@ include file="/WEB-INF/jspx/Global.jsp" %>
<form:form method="POST" commandName="department" action="Departments.html">
<table id="departmentsTable"><tr><td>
<table>
<tr>
<td>
<spring:message code="department.label.name"/>
</td>
</tr>
<tr>
<td>
<form:input path="name" style="width:300px" id="inputs"/>
</td>
</tr>
</table>
<table>
<tr>
<td>
<input id="buttons" type="submit" name="save" style="width:98px" value='<spring:message code="department.saveButton"/>'>
</td>
<td>
<input id="buttons" type="submit" name="new" style="width:98px" <c:if test="${isNew}">disabled</c:if> value='<spring:message code="department.newButton"/>'>
</td>
<td>
<input id="buttons" type="submit" name="delete" style="width:98px" <c:if test="${isNew}">disabled</c:if> value='<spring:message code="department.deleteButton"/>'>
</td>
</tr>
<tr>
<td colspan="3">
<font size=1 color="red">
<form:errors path="name"/>
</font>
</td>
</tr>
</table>
<table>
<tr>
<td rowspan=3>
<form:select multiple="true" path="id" items="${departments}" itemValue="id" itemLabel="fullName" id="inputs" size = "15" style="width:299px" onClick="submit()" disabled="${departments == null}"/>
</td>
<td></td>
<td>
<spring:message code="department.employeeLabel"/>
</td>
</tr>
<tr>
<td></td>
<td>
<select multiple id="inputs" name="employers" size = "12" style="width:500px" <c:if test="${(employers == null || isNew)}">disabled</c:if>>
<c:forEach items="${employers}" var="item">
<option value='<c:out value="${item.id}"/>'>
<c:out value="${item.name}"/>
-
<c:out value="${item.wage}"/>
</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td></td>
<td>
<input id="buttons" type="submit" name="employee" value='<spring:message code="department.editValuesButton"/>' <c:if test="${(departments == null)}">disabled</c:if>>
</td>
</tr>
</table>
</td></tr></table>
</form:form>
Date: 2016-01-14; view: 592
|