首页 技术 正文
技术 2022年11月17日
0 收藏 865 点赞 2,329 浏览 1473 个字

一、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:

 package com.study.struts2.demo; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport {     /**
*
*/
private static final long serialVersionUID = 6522825387249101847L; private String msg; @Override
public void validate() {
if (msg == null || "".equals(msg)) {
super.addFieldError("msg", "信息不能为空"); }
} @Override
public String execute() throws Exception { // 通过request取得jsp的内置对象
// this.msg="hellowrold123";
return SUCCESS;
} public String getMsg() {
return msg;
} public void setMsg(String msg) {
this.msg = msg;
} }

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

 <%@ page language="java" pageEncoding="UTF-8"%>
<!--引入struts2的标签 -->
<%@ taglib prefix="s" uri="/struts-tags"%>
<body>
<p>
<a href="<s:url action='hello'/>" rel="external nofollow" >Hello World</a>
</p> <!--struts2的取值标签 value="<s:property value="msg" />"输入正确的被保留 -->
<form action="hello.action">
信息:<input type="text" name="msg" value="<s:property value="msg" />" />
<s:property value="fieldErrors['msg'][0]" />
<br> <input type="submit" value="提交">
</form> <!--验证通过后显示 -->
<h2>
<s:property value="msg" />
</h2>
</body>
</html>

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

3.1 首次进入页面

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

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

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

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

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295