zoukankan      html  css  js  c++  java
  • struts2系列(二):struts2参数传递错误、struts2的输入错误验证

    一、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 输入内容再点击提交按钮

  • 相关阅读:
    javascript 事件冒泡的补充
    不存在的数组元素
    Android应用程序线程消息循环模型分析
    Android系统匿名共享内存(Anonymous Shared Memory)C++调用接口分析
    Linux下的压缩解压缩命令详解
    Android应用程序组件Content Provider简要介绍和学习计划
    Android应用程序组件Content Provider应用实例
    三层架构之初识庐山真面目
    Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析
    Android应用程序消息处理机制(Looper、Handler)分析
  • 原文地址:https://www.cnblogs.com/leeSmall/p/7749653.html
Copyright © 2011-2022 走看看