Struts2(五) 校验简单数据类型方法 和 值栈的说明
来源:互联网 发布:企业怎么做网络销售 编辑:程序博客网 时间:2024/06/05 05:22
一、值栈的讲解、什么是值栈呢?
通过对struts2的一段时间的接触,将自己对OGNL的核心值栈说说,值栈:简单的说,就是存放action的堆栈,当我们提交一个请求道服务器端 action时,就有个堆栈,如果action在服务器端进行跳转,所有action共用一个堆栈,当需要保存在action中的数据时,首先从栈顶开始 搜索,若找到相同的属性名(与要获得的数据的属性名相同)时,即将值取出,但这种情况可能出现找到的值不是我们想要的值,那么解决此问题需要用TOP语法 和N语法来进行解决。 重最要的是遵循”后进先出“的原则。
值栈说明:
error是一个Map,Map里面有包含着数据;例如上图的errors举例子,里面的name就是个数组,具体获取值看以下案例。
二、Struts2 简单数据类型校验即将开始了;唠叨下 这是一个其实原理很简单
第一步:连接请求到对应的Action进行处理,在Action中定义同名字的参数,赋予set 和 get 方法;
第二步:对获取到的参数进行判断。
第三步:检验成功或失败结果返回。
第四步:校验失败后页面值显示。
2.0、代码结构图
2.1、JSP页面请求
<a href="<%=path %>/test03_DataValiation_01?name=flx">使用addFieldError方法 和 s:fieldError标签简单处理数据校验</a>
2.2、配置文件 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> <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false" /> --> <!-- 设置为开发者模式 修改之后不需要重启服务器 --> <constant name="struts.devMode" value="false" /> <package name="default" namespace="/" extends="struts-default"> <!-- 简单处理数据类型 --> <action name="test03_*" class="com.flx.actions.dataValiation.SimpleDataValiation" method="{1}"> <result> /jsp/getParam.jsp </result> <result name="fails"> /jsp/fails.jsp </result> </action> </package></struts>
2.3、Action处理类
package com.flx.actions.dataValiation;import com.opensymphony.xwork2.ActionSupport;/** * * @author FuLX * * @2016-12-25上午8:22:58 * * 功能:简单数据类型验证 使用addFieldError方法和s:fieldError标签简单处理数据校验 */public class SimpleDataValiation extends ActionSupport {private static final String FINAL_FLX_SUCCESS = "success";private static final String FINAL_FLX_FAILS = "fails";private String name;public String DataValiation_01() {System.out.println("后台接收到的参数:" + this.name);if (this.name != null && !"admin".equals(this.name)) {this.addFieldError("name", "数据校验不通过");this.addFieldError("name", "name errors_01");return FINAL_FLX_FAILS;}return FINAL_FLX_SUCCESS;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
2.4、fails.jsp页面说明
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!-- 引用Struts 标签库 --><%@taglib uri="/struts-tags" prefix="s"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>数据校验失败</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"> </head> <body> 错误信息展示 <s:fielderror fieldName="name" theme="simple"/> <br/> <h4>通过值栈去获取值</h4> errors: <s:property value="errors"/><br/> errors.name: <s:property value="errors.name"/><br/> errors.name[0]: <s:property value="errors.name[0]"/><br/> errors.name[1]: <s:property value="errors.name[1]"/><br/> <s:debug></s:debug> </body></html>
2.5、页面显示
0 0
- Struts2(五) 校验简单数据类型方法 和 值栈的说明
- Struts2的简单数据校验
- struts2简单的数据校验
- Struts2的简单数据校验
- Struts2的自定义类型转换和简单的输入校验
- struts2系统提供的校验器常用属性校验说明
- 校验类型和配置方法说明
- 框架学习之struts2-04数据类型转化和数据校验
- Struts2学习笔记--简单的数据校验
- Struts2.0之类输入校验篇之五(addFieldError和addActionError的实现原理)
- Struts2输入校验(五) の FieldError和ActionError的区别
- struts2(五)action基础知识和数据校验
- 细谈struts2(五)action基础知识和数据校验
- struts2简单数据校验
- Struts2--简单数据校验
- (五)Struts2简单的验证
- Struts2之自定义方法的输入校验
- struts2的自定义方法与输入校验
- java函数式编程之Function
- 【备忘】疯狂Java李韩飞老师Android项目新浪微博实战教程+PPT 下载
- 回顾2016年
- 信息的价值
- 获取url或本地视频的第一帧
- Struts2(五) 校验简单数据类型方法 和 值栈的说明
- 【备忘】 黑马程序员手机安全卫士项目开发视频 下载
- 从信息包围到信息追踪,你在网络中还剩下多少自由?
- 用java实现发送邮件的核心代码
- 汇编中的test和cmp指令
- 【学习笔记之Openlayers3】控件篇(第二篇)
- unix命令之cp命令详情(转载自https://linux.cn/article-2687-1.html)
- Desargues 定理的另一个叙述法
- UVa 11481 Arrange the Numbers (组合数学+容斥原理)