接上面未完成的功能:判断输入的用户名和密码是否正确。
一、创建一个新的登录页面:login2.jsp(struts2的标签库的描述符放在struts2-core-2.0.14.jar下的META-INF/struts-tags.tld中)
<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'login2.jsp' starting page</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<s:form action="login">
<s:textfield name="username" label="username"></s:textfield>
<s:password name="password" label="password"></s:password>
<s:submit label="sumbit"></s:submit>
</s:form>
</body>
</html>
二、编辑LoginAction.java类,使其继承自ActionSupport类,并且继承一个validate方法,用于验证用户名和密码输入是否为空或者是否正确,LoginAction.java类代码最终如下:
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport
{
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() throws Exception
{
if("hello".equals(this.getUsername().trim()) && "world".equals(this.getPassword().trim()))
{
return "success";
}
else
{
this.addFieldError("username", "username or password error");
return "failer";
}
}
@Override
public void validate()
{
if(null == this.getUsername() || "".equals(this.getUsername().trim()))
{
this.addFieldError("username", "username.required");
}
if(null == this.getPassword() || "".equals(this.getPassword().trim()))
{
this.addFieldError("password", "password.required");
}
}
}
三、编辑配置struts.xml,对于出现不同错误指向不同的位置:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.test.action.LoginAction">
<result name="input">/login2.jsp</result>
<result name="success">/result.jsp</result>
<result name="failer">login2.jsp</result>
</action>
<action name="pointConverter" class="com.test.action.PointAction">
<result name="success">/output.jsp</result>
</action>
</package>
</struts>
图片演示操作的效果:
都为空时:
用户名为空时:
密码为空时:
都正确时:
- 大小: 50.2 KB
- 大小: 49.3 KB
- 大小: 49 KB
- 大小: 44.7 KB
分享到:
相关推荐
NULL 博文链接:https://zhaolianyang.iteye.com/blog/859212
Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...
Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...
目录 1.1 Spring 框架学习路线:...........................................................................................................................4 1.2 Spring 框架的概述:...........................
人事面试100问及Java面试文档资料: java面试100.doc JSP学习口水.docx OSI七层模型介绍.doc OS多线程.ppt sql基础 .doc Struts 入门.doc UML类图详解.mht ...第2章 递归与分治策略.ppt 这部分的腾讯c.docx
自己整理的一些资料,不需要积分,希望对大家有帮助。 里面包有如下的一些java资料 Ant使用指南.pdf ...Java数据结构和算法中文第二版.pdf Java网络高级编程.pdf jsp高级运用 spring2中文开发参考手册.chm a.txt
第二天 1、高级参数绑定 a)数组类型的参数绑定 b)List类型的绑定 2、@RequestMapping注解的使用 3、Controller方法返回值 4、SpringMVC中异常处理 5、图片上传处理 6、Json数据交互 7、SpringMVC实现RESTful 8、拦截...
Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架 java之父gosling 1990 sun启动 绿色计划 1992 创建oak语言-->java 1994 gosling参加硅谷大会演示java功能,震惊世界 1995 sun正式发布java第一个版本,...
java(1) 整合入门(spring,struts,hibernate的整合)资料(1) 中大软件工厂项目前培训资料(1) 完整笔记+源码(1) ssh(1) C#查询参数化例子(1) 学习笔记+完整源码(1) 介绍与深入(1) 学习笔记(不含整合)(1) C#(1) .CHM格式...
springmvc框架原理(掌握) 前端控制器、处理器映射器、处理器适配器、视图解析器 springmvc入门程序 目的:对前端控制器、处理器映射器、处理器适配器、视图解析器学习 ...springmvc和struts2的区别
架构师最好的入门参考资料 java编写的学生信息管理系统 B2C简单的购书网站前台(2005 asp.net源码) 一个用struts框架写的bbs论坛 ASP.NET与EXCEL交互详解及技巧 java 面试题大集合包括名大公司 《iPhone开发...
该存储库是在与一起学习时,在。 它包含了我在课程中的所有笔记。 它可以用作广泛JavaScript备忘单。 课程内容 入门 对象 样机 原型继承 ES6类 ES6工具 入门(17m) 什么是OOP(1:45) OOP的四大Struts(7:02) ...