`
gaosililn
  • 浏览: 73002 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ssh学习:struts2的返回结果集input

阅读更多

struts2返回结果集input值的作用于用法

在struts.xml配置文件当中action下的result标签name值为input时,即:<result name="input"></result>能起到校验数据并自动跳转到指定的链接下

比如咋输入的数据要求是整形实际输入却是字符串;要求不能提交为空的字符,提交的实际数据却是空的等等。当检验数据不符合要求时候,可以使用<result name="input"></result>跳转到指定的页面链接或者action等。

诶呀,讲的不清楚,用实际的小demo来看看也许能更易懂一点。

定义一个数据封装的对象Java bean类:User

 

public class User  implements Serializable{
	private String name;
	private String psw;
	private int age;
//下面还要实现三属性的get/set方法	
}

 struts.xml文件配置如下:

<action name="sectAction" class="com.usc.geowind.lilin.actions.SecAction"
			method="execute">
			<result name="success">
				/success.jsp
			</result>
                        <!-- 数据校验错误时候执行该返回集 -->
			<result name="input">
				/inputError.jsp
			</result>

		</action>

此时我们在action类中,只实现数据封装,不做任何的数据校验判定。

public class SecAction extends ActionSupport {
	private User user;

	@Override
	public String execute() throws Exception {
		System.out.println(user);
		return SUCCESS;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

}

 当从前台提交的表单中的age值是字符串时候,action就会自动的跳转到inputError.jsp页面下,当数据提交是符合要求的时候就会跳转到success.jsp页面下

怎么使用<result name="input"></result>进行数据校验呢?

以上面的为例,校验用户名是否为空,数据为空是不符合要求则继续跳转到Login.jsp页面

Login.jsp部分代码

<s:form namespace="" action="sectAction" method="post">
		<s:textfield label="useName" name="user.name"/>
		<s:fielderror name="userNameError"></s:fielderror>
		<s:textfield label="age" name="user.age"/>
		 <s:password label="psw" name="user.psw"/>
		<s:submit label="submit"></s:submit>
		<s:reset label="reset"></s:reset>
	</s:form>

 action类的代码:

public String execute() throws Exception {
		if (user.getName() == null || "".equals(user.getName())) {
			//向jsp的struts标签提示信息
			this.addFieldError("userNameError", "用户名输入有误!");
			//必须写return语句,不然校验没起到任何作用
			return INPUT;
		}
		System.out.println(user);
		return SUCCESS;
	}

 校验的代码写在execute方法中,必须返回input字符串,否则不起什么作用。除了这种写法外,也可以把校验的代码写在validate方法中,这样不需返回值也可以达到相同的作用

	@Override
	public void validate() {
		if (user.getName() == null || "".equals(user.getName())) {
			// 向jsp的struts标签提示信息
			this.addFieldError("userNameError", "用户名输入有误!");
		}
	}

 

 

 

 

分享到:
评论

相关推荐

    SSH笔记_Struts2配置

    SSH是Java Web开发中的三大框架组合,分别是Spring、Struts2和Hibernate。Spring提供了依赖注入(DI)和面向切面编程(AOP),用于管理对象的生命周期和解耦;Struts2是一个基于MVC设计模式的Web应用框架,负责处理...

    Struts2 demo2

    这个"Struts2 demo2"很可能是为了演示和学习Struts2框架的多种功能和配置方式。以下是根据提供的文件名解析出的相关知识点: 1. **SSH2**: SSH代表Spring、Struts2和Hibernate三个开源框架的组合,常用于构建企业级...

    struts2(ssh)带进度条文件上传 demo 的jar包1

    SSH是Struts2、Spring和Hibernate三个开源框架的组合,常被用来构建强大的、基于MVC(Model-View-Controller)架构的Web应用程序。在Struts2中,实现文件上传功能是非常常见的需求,而带进度条的文件上传则可以提供...

    整合struts2 ssh导出excel

    Struts2、SSH(Spring、Struts2、Hibernate)是Java Web开发中常见的三大框架,它们各自负责不同的职责,Spring管理应用的业务层,Struts2处理表现层,Hibernate则负责数据持久化。本篇文章将深入探讨如何在Struts2...

    Struts2+Spring+Hibernate+MySQL整合

    【Struts2+Spring+Hibernate+MySQL整合】是企业级Java应用开发中常见的技术栈,也被称作SSH框架。这个组合提供了模型-视图-控制器(MVC)架构模式,数据库管理,以及依赖注入和事务控制的能力。下面将详细介绍这个...

    struts2的demo框架学习例子

    &lt;label for="num2"&gt;数字2: &lt;input type="number" id="num2" name="num2"&gt; &lt;input type="submit" value="计算"&gt; ``` 至此,我们已经构建了一个基本的Struts2应用,用户可以在`input.jsp`页面输入两个数字...

    MyEclipse开发SSH(Struts+Spring+Hibernate).doc

    SSH(Struts+Spring+Hibernate)是一种经典的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。Struts提供了MVC(Model-View-Controller)架构,Spring则作为依赖注入(DI)和面向切面编程(AOP)容器,而...

    SSH2上传实现

    本文将详细介绍如何利用SSH2(Struts2 + Spring + Hibernate)框架结合ExtJS前端库实现文件上传功能。具体包括前端界面设计、JavaScript交互逻辑以及后端处理流程。 #### 二、前端实现 ##### 1. 前台页面设计 **...

    struts2(ssh)带进度条文件上传 demo 的jar包3

    在这个"struts2(ssh)带进度条文件上传 demo 的jar包3"中,我们主要关注的是Struts2如何实现文件上传功能,并且这个功能还带有进度条显示,这是提升用户体验的一个重要特性。 文件上传在Web应用中很常见,例如用户...

    SSH框架配置步骤.docx

    SSH(Struts2、Spring、Hibernate)是一个经典的Java Web开发框架,用于构建企业级应用程序。本文将详细介绍SSH框架的配置步骤,以帮助开发者快速搭建开发环境。 一、开发环境配置 1. MyEclipse 5.5:这是一个集成...

    SSH框架技术试卷+答案.pdf

    SSH框架技术试卷主要涵盖Struts2这一MVC框架的核心概念和使用方法,涉及单选题的解答,以下是根据题目内容整理的知识点: 1. **Struts2 标签库**:Struts2提供了丰富的标签库,例如 `&lt;s:a&gt;` 用于创建链接,`&lt;s:form...

    ssh2配置 myeclips

    在开发环境中,SSH2 整合通常指的是将 Struts2、Spring 和 Hibernate 这三个开源框架集成在一起,以便构建一个完整的Java Web应用程序。MyEclipse 是一个强大的集成开发环境(IDE),支持多种Java应用的开发,包括...

    struts2的ssh手工配置全过程还带一个登陆例子的配置

    ### Struts2 SSH手工配置全过程及登录示例详解 #### 一、背景介绍 在Java Web开发领域,Struts2框架以其简洁、易用而受到广泛欢迎。而在实际项目开发中,为了更好地实现业务逻辑与界面展示的分离,通常会采用SSH...

    struts2的令牌机制

    压缩包中的`proj_ssh_05`项目可能包含了一个完整的Struts2项目,其中包含了上述所有步骤的实现。你可以通过运行该项目,观察代码如何生成、传递和验证令牌,以及在遇到重复提交或CSRF攻击时如何处理。 ### 四、CSRF...

    java-bbs项目,ssh

    Struts2的核心是Action类,它将用户的请求转化为业务操作,并通过结果视图(Result)将处理结果返回给用户。 2. **Spring**:Spring框架是SSH中的核心,负责管理和协调各个组件。它提供了依赖注入(Dependency ...

    MyEclipse开发SSH(Struts+Spring+Hibernate)入门

    SSH(Struts+Spring+Hibernate)是一种常见的Java企业级应用开发框架组合,用于构建高效、可维护的Web应用程序。本教程将引导你通过MyEclipse集成开发环境,一步步搭建SSH项目,并实现基本的用户登录功能。 首先,...

    J2EE的SSH配置详解

    Struts 2在Struts 1的基础上做了很多改进,例如引入了`result`配置,它定义了Action执行后返回的结果,可以是视图、重定向或者其他Action。 ```xml &lt;result name="success"&gt;/jsp/success.jsp &lt;result name="...

    SSH2整合 开发步骤

    SSH2整合是Java开发中常见的技术栈整合,主要涉及Spring、Struts2和Hibernate这三个开源框架。这些框架的整合能够帮助开发者构建高效、灵活的企业级Web应用。下面我们将详细讲解SSH2整合的开发步骤。 1. 整合Spring...

    ssh,ssh,ssh

    根据提供的文件信息,可以看出这里涉及的是Spring框架与SSH(Struts、Spring、Hibernate)集成的相关配置及使用场景。下面将详细解析这些知识点。 ### Spring框架与SSH集成 #### Spring框架介绍 Spring框架是一个...

Global site tag (gtag.js) - Google Analytics