今天老师的第二讲,主要是讲的是一个jsp页面输入的一个校验~
首先,老师将“第一讲”的LoginAction类,继承extends了ActionSupport。
然后通过struts2文件夹中的docs,检索到了ActionSupport的API,发现里面包含了Action最常用的一些方法。
其中就提到了一个校验的方法:
public void validate()------这个校验函数,不应该去进行业务逻辑的校验,也就是不带过多的逻辑,一般作用在本次例子中就是用来判断是否为空的基本作用。
1. LoginAction中的验证函数
@Override
public void validate() {
if(this.getUsername()==null ||"".equals(this.getUsername().trim()))
{
this.addFieldError("username", "Please enter your username!");
}
if(this.getPassword()==null ||"".equals(this.getPassword().trim()))
{
this.addFieldError("password", "Password required!");
}
相关联的login2.jsp中的代码
<body>
<s:form action ="login">
<s:textfield name ="username" label="username"></s:textfield>
<s:password name ="password" label="password"></s:password>
<s:submit label="Submit"></s:submit>
</s:form>
</body>
其中this.addFieldError(String arg0, String arg1)中的arg0,要和jsp中的<s:textfield name="xxx" ...> xxx保持一致,这样才能得到关联。arg1的字符串,是代表,显示出错后,屏幕上输出的提示文字。
2. 并且,在修改完LoginAction.java文件后,需要返回struts.xml文件进行相应的配置!
<result name="input">/login2.jsp</result>
注意,此时对应validate的校验函数执行后,会自动的寻找固定的result name="input",所以,这里validate()和input是固定搭配。 这里表示当validate()函数执行完成之后,会自动的返回到login2.jsp页面
3. 显示页面:

B. 如果还需对前台界面的输入进行逻辑验证的话,此时应该将逻辑写在LoginAction.class的execute函数中。
而不是Validate()
在此次例子中,我们加入需求:“界面输入的username和密码只有分别匹配了hello,world才能成功,否则报错”
1. LoginAction.java中的execute方法:
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";
}
}
注意:return “failer”
2. 所以现在我们需要返回到Struts.xml进行相应的配置。
struts.xml代码:
<result name="failer">/login2.jsp</result>
代表,当return failer时,前台页面会自动的返回login2.jsp中
3. 结果如图:当输入的username和密码分别为 asd,123 的时候,与我们要求的需求不匹配,此时页面转换成


- 大小: 2.2 KB

- 大小: 2 KB
分享到:
相关推荐
本教程“Struts2 学习 2”将深入探讨Struts2的核心概念和技术,通过一系列文档帮助你掌握这个框架的关键要点。 一、ActionContext的理解与应用 在“第九讲 ActionContext.docx”中,你将学习到ActionContext是...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
这个压缩包中包含的资源是学习Struts2的关键资料,帮助开发者深入理解和掌握这个框架。 首先,"struts2权威指南"是学习Struts2的核心参考资料,通常会涵盖框架的基本概念、核心组件、配置细节、MVC设计模式的应用...
struts2学习测试代码,struts2学习测试代码2struts2学习测试代码,struts2学习测试代码
这个"STRUTS2学习文档"显然是一个关于如何理解和使用Struts2框架的教程资料,对于想要快速掌握Struts2核心概念和技术的开发者来说,它是一份非常有价值的资源。 Struts2框架的核心特点包括: 1. **拦截器...
从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...
### Struts2学习心得:深入理解Struts2框架的基本配置与初学者指南 #### Struts2框架概述 Struts2是Struts框架的升级版本,它继承了Struts1的优点并在此基础上进行了改进,提供了更丰富的功能和更好的性能。Struts...
这个“Struts2的视频学习代码”资料可能是为了帮助开发者深入理解和实践Struts2的核心概念和机制。以下是根据标题、描述和标签生成的相关知识点: 1. **MVC架构**:MVC模式是软件设计中的一种经典架构,它将应用...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
### Struts 2完全学习手册知识点详解 #### Struts 2简介 Struts 2是Struts框架的一个重要分支,它继承了Struts 1.x的一些特性,并在此基础上进行了大幅度的改进与扩展,使之成为了一个更为强大、灵活的Web开发框架...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
这个"STRUTS2学习实例8"显然旨在深化对Struts2的理解和应用,通过具体的实战项目来教学。让我们深入探讨一下Struts2的关键概念和技术。 首先,Struts2的核心是Model-View-Controller(MVC)设计模式。MVC模式将应用...
在这个名为"struts2学习小项目"的资源中,我们可以看到一个适用于初学者实践的实例,它结合了Oracle数据库,提供了一个从基础到实践的学习路径。 首先,了解Struts2框架的基本概念至关重要。Struts2的核心是Action...
在四天的学习过程中,你应该通过实践和理解这些核心概念,掌握了创建一个基本的Struts2应用的能力。继续深入学习,如整合Spring、Hibernate等其他框架,你将能构建更复杂、更高效的Java web系统。
在压缩包中,`struts2.xls`可能是包含Struts2学习笔记的电子表格,详细讲解了框架的各个方面,包括配置、拦截器、结果类型等。`struts-2.3.15.3`很可能是Struts2的特定版本库,包含所有必要的JAR文件和文档,可供...
本资料“struts2学习 源码”旨在帮助初学者理解Struts2的核心概念和工作原理,通过来自达内的详细代码实例来提供直观的学习体验。 Struts2框架的关键特性包括: 1. **动作(Action)**:在Struts2中,业务逻辑通常...
Struts2是一个基于JavaEE的MVC框架,它是对经典的Struts1框架的升级,同时融合了WebWork框架的核心特性。Struts2的核心优势在于它的拦截器机制,这使得业务逻辑与Servlet API得以分离,提高了代码的可测试性和可维护...
struts2学习测struts2学习测试代码试代码