In this example we
will see how to highlight error fields. This is done by creating a seperate
style to apply when an error has occred. This style value is set to the
errorStyleClass attribute of the corresponding Struts html tag. In our example
the login.jsp page contains the following code.


01.<%@taglib
uri="/WEB-INF/struts-html.tld" prefix="html" %>
02.<html>
03.<head>
04.<title>
05.Highlight Error
Fields
06.</title>
07.<link href="style.css" rel="stylesheet" type="text/css" />
08.</head>
09.<body>
10.<html:form action="login" >
11.<table>
12.<tr>
13.<td>
14.User Name
15.</td>
16.<td>
17.<html:text property="userName" errorStyleClass="error"
18.errorKey="org.apache.struts.action.ERROR" />
19.</td>
20.<td>
21.<html:errors property="userName" />
22.</td>
23.</tr>
24.<tr>
25.<td>
26.Password
27.</td>
28.<td>
29.<html:password property="password" errorStyleClass="error"
30.errorKey="org.apache.struts.action.ERROR" />
31.</td>
32.<td>
33.<html:errors property="password" />
34.</td>
35.</tr>
36.<tr>
37.<td>
38.<html:submit value="Login" />
39.</td>
40.</tr>
41.</table>
42.</html:form>
43.</body>
44.</html>
The style.css file
has a style class "error", which sets the background to light blue
color.
1..error {
2.background-color: #b9ecfd;
3.}
LoginForm class
extends org.apache.struts.validator.ValidatorForm. All the validations are done
inside the validate method.
01.public ActionErrors validate(ActionMapping mapping, HttpServletRequest
request) {
02.
03.ActionErrors errors = new ActionErrors();
04.if (getUserName() == null ||
getUserName().length() < 1) {
05.errors.add("userName", new ActionMessage("error.userName.required"));
06.}
07.if (getPassword() == null ||
getPassword().length() < 1) {
08.errors.add("password", new ActionMessage("error.password.required"));
09.} else if (getPassword().length() < 6) {
10.errors.add("password", newActionMessage("error.password.minlength"));
11.}
12.return errors;
13.
14.}
The corresponding
error messages are configured in the ApplicationResouce.properties file.
1.error.userName.required = User Name is
required.
2.error.password.required = Password is
required.
3.error.password.minlength = Password can not be less than 6 characters.
Run the
application. The login.jsp page will be displayed. Click the login button
without entering the User Name and the Passowrd. The following error messages
will be displayed to the user.
No comments:
Post a Comment