struts2于validate要使用

struts2于validate要使用

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

package com.test.action;

import com.opensymphony.xwork2.ActionSupport;
import com.test.model.User;

public class CheckUser extends ActionSupport{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private User user=new User();
	private String username;
	public String getUsername() {
		return username;
	}


	public void setUsername(String username) {
		this.username = username;
	}


	public String getPassword() {
		return password;
	}


	public void setPassword(String password) {
		this.password = password;
	}


	private String password;

	@Override
	public String execute() throws Exception {
		System.out.println("checkuser");
		// TODO Auto-generated method stub
		
		
		return SUCCESS;
	}


	/*注意,validate方法是在execute之前运行*/
	@Override
	public void validate() {
		user.setUsername(this.getUsername());
		user.setPassword(this.getPassword());
		System.out.println(user);
		// TODO Auto-generated method stub
		if(user.getUsername().equals("admin"))
		{
			this.addFieldError("username_error", "权限不够");
		}
		super.validate();
	}
	

}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?

><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <!-- 採用注解的方式 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true" /> <package name="default" namespace="" extends="struts-default"> <!-- struts2捕获action类异常 --> <!-- <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping> </global-exception-mappings> --> <action name="link" class="com.test.action.LoginAction"> <result>/result.jsp</result> </action> <action name="linkIOC" class="com.test.action.LoginActionIOC"> <result>/result.jsp</result> </action> <!-- 正确和错误的分别跳转,齐总input是在验证失败后会跳转的页面 --> <action name="data" class="com.test.action.CheckUser"> <result name="success">/result.jsp</result> <result name="input">/login.jsp</result> </action> </package> <!-- Add packages here --></struts>

html页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 这个地方是用来显示错误信息 -->
<s:fielderror/>
<form action="data.action" method="post">
<input type="text" name="username"><br>
<input type="password" name="password"><br>
<input type="submit" name="ok"><br>
</form>
</body>
</html>

即当严重不通过后,会返回到该页面,同一时候输出出错信息。

測试结果。当输入admin之后。会发现例如以下的页面

struts2于validate要使用

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117030.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 将ipad作为电脑拓展屏或分屏的简单方法[通俗易懂]

    将ipad作为电脑拓展屏或分屏的简单方法[通俗易懂]用Ipad实现电脑分屏的方法是挺简单的,但鉴于部分小白找不到合适的门路,在此重新分享一下。需要的装备:ipad电脑数据连接线方法:某宝上搜索 duetdisplay,只需1元左

    2022年8月5日
    10
  • Jsp中EL表达式不解析问题

    Jsp中EL表达式不解析问题记一次很郁闷的Bug         前一天晚上写好的JSP页面,然后发布在Tomcat上面之后,一切正常。第二天早上打开之后,发现css样式始终加载不出来,刚开始以为网速问题(前一天晚上测试一切正常,因此排除代码问题),测试网络一切正常,这就跟尴尬了,那css加载不出来是什么意思,难不成遇见鬼了?于是在发布后的页面检查代码,发现页面没有解析EL表达式,找到问题就想办法解决,于是开始折腾,最终还是…

    2022年6月13日
    31
  • 细说PyCharm的安装和配置[通俗易懂]

    细说PyCharm的安装和配置[通俗易懂]PyCharm的安装和设置PyCharm是一款非常好用的PythonIDE,由JetBrains开发和维护,(同时JetBrains还开发了另外一些知名IDE—-IntelliJIDEA和WebStorm)JetBrains官网:www.jetbrains.comPyCharm分为免费(Community,社区版)和收费的(Professional,专业版)通常情况下免费的版本就可以使用(学生党狂喜)PyCharm的安装包格式:pycharm-版本-日期安装步骤就是Next,选安装盘

    2022年8月29日
    4
  • android 平板重装系统,平板电脑系统重装方法「建议收藏」

    不少用户想要平板电脑重装,但是不知如何操作,为此有些为难。平板电脑是跟笔记本电脑方便携带出现的物品,不会意味着台式机电脑会退出电脑界,2020年新的开始新的一年,让许多的电脑品牌竞争激烈起来。平板电脑也叫便携式电脑,是一款以触摸屏作为基本的输入设备,无须翻盖、没有键盘、小到放入女士手袋,但是却功能完整的PC。可是满不满足可以重装系统的条件,下面小编整理了平板装系统的方法。1、系统重装支持ARIM构…

    2022年4月12日
    1.6K
  • C++中sstream类

    C++中sstream类C++中的sstream类用来操作string,可以向string中写入数据,也可以从string中读取数据。该类在sstream头文件中定义。该类可以分为istringstream和ostringstream,其中istreamstream用来从string中读取数据;而ostringstream用来向string中写入数据。1istringstream1.1定义istringstream类的对象可以使用两种方法定义istringstream类的对象istringstreamiss.

    2022年6月3日
    58
  • 全网最硬核讲解计算机启动流程

    全网最硬核讲解计算机启动流程

    2020年11月20日
    216

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号