Struts 2 初步入门(六)之处理结果类型
Struts2 处理流程:
用户请求--->struts框架--->Action控制器--->struts框架--->视图资源
xml配置文件里:
<result name="input">/login.jsp</result>
ps:(1)result元素中的name为result元素的逻辑视图名称,即为动作方法的返回值,name可以省略,如果省略则默认的name值为login;
(2)/login.jsp返回指定的路径。/如果省略,则路径以namespace为相对路径。
Struts2处理结果类型,即result元素中的name值可以如下:
- SUCCESS:Action正确的执行完成,返回相应的视图,success是name属性的默认值
- ERROR:表示Action执行失败,返回到错误处理视图
- NONE:表示Action正确的执行完成,但是不返回任何视图
- LOGIN:Action因为用户没有登录的原因没有正确执行,将返回登录视图,要求用户进行登录验证
- INPUT:Action执行,需要从前端页面获取参数,input就是代表这个参数输入的界面,一般应用中会对这些参数进行验证,如果验证没有通过,将自动返回该视图
关于input的代码演示:
1.在xml文件里,配置前端输入错误的返回页面,如下:
<action name="LoginAction" method="login" class ="com.imooc.action.LoginAction">
<result>/success.jsp</result>
<result name="input">login.jsp</result> //name为input,代表需要从前端页面获取参数 </action> 2.在LoginAction.java文件里处理前端如果输入为空的处理方式:
重载validate方法,并对函数进行重写,如下:
public void validate() {
if(user.getUsername()==null||"".equals(user.getUsername())){
this.addFieldError("username","用户名不能为空");//给一个字段(username)添加错误信息
}
}
3.将错误信息显示在前端,如下:
(1)添加Struts标签
<%@taglib prefix="s" uri="/struts-tags"%> (2)将错误信息显示放置在适当的位置
<s:fielderror name="username"></s:fielderror>
Struts 2 初步入门(六)之处理结果类型的更多相关文章
- Struts 2 初步入门(三)
接Struts 2初步入门(二) 若想用多个通配符设定访问: <struts> <package name="default" namespace="/ ...
- Struts 2 初步入门(二)
Struts 2 动态方法调用 1.在HelloWorldAction中添加两个新的方法如下: import com.opensymphony.xwork2.ActionSupport; public ...
- Struts 2 初步入门(一)
搭建Struts 2环境步骤 下载jar包----->创建web项目---->创建并完善相关配置文件---->创建action并测试启动 下载jar包访问网站:http://stru ...
- Struts 2 初步入门(五)之接受参数
1.使用action的属性接受参数 执行顺序为:前端提交参数--->LoginAction.do进行处理--->处理成功后,跳转到sucess.jsp文件. (1)新建login.jsp文 ...
- DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表
原文:DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助 ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...
- 网络编程懒人入门(六):深入浅出,全面理解HTTP协议
本文引用了自简书作者“涤生_Woo”的文章,内容有删减,感谢原作者的分享. 1.前言 HTTP(全称超文本传输协议,英文全称HyperText Transfer Protocol)是互联网上应用最为广 ...
- C#基础入门 六
C#基础入门 六 静态类进阶 静态构造方法 用于初始化任何静态数据,或用于执行仅需执行一次的特定操作,在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数,静态构造方法是无参数的. publ ...
随机推荐
- python 下载大文件
当使用requests的get下载大文件/数据时,建议使用使用stream模式. 当把get函数的stream参数设置成False时,它会立即开始下载文件并放到内存中,如果文件过大,有可能导致内存不足 ...
- python中enumerate内置库的使用
使用enumerate,可以自动进行索引下标的赋值,本例代码中使用enumerate,进行excel单元格的赋值操作. 代码如果重复被调用,可将该代码封装成类进行使用 1 import openpyx ...
- isnull和sum的关系
这是我刚刚写存储过程的时候意识到的一个问题!!! 先问大家这样一个问题,print 100+null 等于多少? 在一组数据统计的过程中,只要使用到sum函数,就必须使用isnull函数包含起来,因 ...
- OpenModelica中simulate的用法
先把官网上的说明文档放上来: simulate simulates a modelica model by generating c code, build it and run the simula ...
- variable_scope
1. with tf.variable_scope("a"): b=tf.get_variable(name="g",initializer=12) print ...
- git stash命令
命令:git stash 1.使用git stash 保存当前的工作现场, 那么就可以切换到其他分支进行工作,或者在当前分支上完成其他紧急的工作,比如修订一个bug测试提交. 2.如果一个使用了一个g ...
- JavaScript 第三章总结
Getting functional function的特点 function can be reused over and over much more readable function is p ...
- Arduino 开关控制小灯持续亮之具体思路
Arduino 开关控制小灯持续亮之具体思路 为什么写这篇文章: 我们用开关控制灯的亮灭的时候,希望只需要按一下按键就可以做到灯一直亮着.而在<Arduino魔法书>中——有弹性的按键这一 ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 添加分页组件
jQuery EasyUI 数据网格 - 添加分页组件 本实例演示如何从服务器端加载数据,如何添加分页组件(pagination)到数据网格(datagrid). 创建数据网格(DataGrid) 为 ...
- Java类成员变量的默认值
1.布尔型(boolean)变量默认值为false,byte.short.int.long为0,字符型为'\u0000'(空字符),浮点型(float double)为0.0,引用类型(String) ...