一、struts2参数传递错误

1. 基本数据类型的传递最好使用包装类,原因是struts 2.1之后使用基本数据类型如果参数为空会报错
2. 日期参数的传递最好定义一个区域的属性(定义locale),在struts.properties里面定义struts.locale=zh_CN,原因是日期在不同的区域中格式不一样,所以默认情况下日期会随着浏览器的不同使用不同的区域的日期格式

二、struts2的输入错误验证

1. 在前一篇文章关于struts2系列(一)的文章中搭建的struts2的开发环境中改写HelloWorldAction.java,在里面复写ActionSupport的validate()方法,然后在这个方法里面使用ActionSupport的addFieldError()方法添加错误

HelloWorldAction.java:

 1 package com.study.struts2.demo;
 2
 3 import com.opensymphony.xwork2.ActionSupport;
 4
 5 public class HelloWorldAction extends ActionSupport {
 6
 7     /**
 8      *
 9      */
10     private static final long serialVersionUID = 6522825387249101847L;
11
12     private String msg;
13
14     @Override
15     public void validate() {
16         if (msg == null || "".equals(msg)) {
17             super.addFieldError("msg", "信息不能为空");
18
19         }
20     }
21
22     @Override
23     public String execute() throws Exception {
24
25         // 通过request取得jsp的内置对象
26         // this.msg="hellowrold123";
27         return SUCCESS;
28     }
29
30     public String getMsg() {
31         return msg;
32     }
33
34     public void setMsg(String msg) {
35         this.msg = msg;
36     }
37
38 }

2. 在jindex.jsp页面通过struts2的标签<s:property value="fieldErrors['msg'][0]" />获取错误显示

 1 <%@ page language="java" pageEncoding="UTF-8"%>
 2 <!--引入struts2的标签  -->
 3 <%@ taglib prefix="s" uri="/struts-tags"%>
 4 <body>
 5     <p>
 6         <a href="<s:url action='hello'/>">Hello World</a>
 7     </p>
 8
 9     <!--struts2的取值标签  value="<s:property value="msg" />"输入正确的被保留 -->
10     <form action="hello.action">
11         信息:<input type="text" name="msg" value="<s:property value="msg" />" />
12         <s:property value="fieldErrors['msg'][0]" />
13         <br> <input type="submit" value="提交">
14     </form>
15
16     <!--验证通过后显示  -->
17     <h2>
18         <s:property value="msg" />
19     </h2>
20 </body>
21 </html>

3. 验证:在浏览器输入地址http://localhost:8080/TestStruts2/

3.1 首次进入页面

3.2  什么都不输入,点击提交按钮

3.3 输入内容再点击提交按钮

转载于:https://www.cnblogs.com/leeSmall/p/7749653.html

struts2系列(二):struts2参数传递错误、struts2的输入错误验证相关推荐

  1. struts2之二(输入校验)

    校验分为前台输入校验和后台服务器端校验,所以后台校验是最后一道屏障也是极其重要的! 流程如下: 先一个简单的jsp页面 ,然后直接提交给后台程序处理  ,最后返回到结果页面 步骤一:配置struts2 ...

  2. 二十四、Struts2中的UI标签

    二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) ...

  3. Struts2中There is no Action mapped for namespace错误解决方法

    Struts2中There is no Action mapped for namespace错误解决方法 参考文章: (1)Struts2中There is no Action mapped for ...

  4. struts2.5框架使用通配符指定方法(常见错误)

    参考:http://www.cnblogs.com/gsy52300/p/5778754.html 在学习struts框架时经常会使用到通配符调用方法,如下: <package name=&qu ...

  5. struts2系列(四):struts2国际化的多种方式

    一.struts2国际化原理 根据不同的Locale读取不同的文本. 例如有两个资源文件: 第一个:message_zh_CN.properties 第二个:message_en_US.propert ...

  6. 二十六:Struts2 和 spring整合

    二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot-- ...

  7. Struts2学习日记(二)简单的Struts2登陆实现(Action继承ActionSupport类)

    功能实现:实现登陆功能,输入用户名和密码,如果用户名不为hello或者密码不为world,便返回登陆页并提示错误,否则显示登陆结果. 1.打开MyEclipse,创建一个webProject项目. 2 ...

  8. 【Java EE (Struts2 + Spring + Hibernate)开发】:Struts2(二)之【拦截器机制】

    [Java EE (Struts2 + Spring + Hibernate)开发]:Struts2(二)之[拦截器机制] 本文地址:http://blog.csdn.net/shanglianlm/ ...

  9. Struts2教程1:第一个Struts2程序

    在本系列教程中我们将学习到Struts2的各种技术.在本教程中使用的工具和程序库的版本如下: 开发工具:MyEclipse6 Web服务器:Tomcat6 Struts版本:Struts2.0.11. ...

最新文章

  1. windows 下实现函数打桩:拦截API方式
  2. javascript模拟sleep
  3. 2021-10-21 二叉堆 恋上数据结构笔记
  4. 风控策略和模型的区别_风控模型之产品赢利分析与策略优化
  5. 505B. Mr. Kitayuta‘s Colorful Graph
  6. mysql主备切换 自动_核电生产管理信息系统EAM完成首次备用环境切换演练
  7. python函数定义及调用-python 中函数的定义以及调用先后顺序问题
  8. 奇怪,为什么在主页上面只列出最近的随笔,而文章呢?
  9. 两种方法,给你的Safari浏览器添加必应/有道/谷歌网页即时翻译插件
  10. “白嫖”时代进入最后倒计时,网盘行业到底是怎么由盛及衰的?
  11. 后台任务列表 App 界面模糊处理
  12. MFC隐藏任务栏图标
  13. python word 表格 框线_python-docx 操作word文档给表格加边框
  14. 零基础学软件测试难吗?小白怎么半年内成为测试工程师
  15. 服务器装机选哪个系统好,服务器该装08系统好还是03系统好?
  16. latex伪代码添加注释_【其他】如何用写代码的方式进行文字编辑 Markdown 的简明教程...
  17. 【C++】上下取整取整函数
  18. php如何做查询,php – 如何使用Elastica进行查询
  19. css3之BFC、IFC、GFC和FFC
  20. 江南科友 hac linux shell,运维安全审计系统(HAC 1000E、HAC 1000P)

热门文章

  1. linux公司常用基础命令必知必会
  2. L1-028 判断素数 (10 分)
  3. Python爬虫入门教程,突破煎蛋网反爬措施,妹子图批量抓取!
  4. SSH 登陆虚拟机VBox
  5. Netty 源码 — 线程模型的分析
  6. 四人过桥、三盏灯 三个开关 的答案
  7. 问答系统一些综述性质的文章
  8. 任务调度-xxl-job
  9. 处理ssl连接MySQL问题方法
  10. nfc支持饭卡吗_都2020年了,听说你还在丢饭卡??