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要使用

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 视觉里程计Visual Odometry(VO)「建议收藏」

    视觉里程计Visual Odometry(VO)「建议收藏」视觉里程计(VisualOdometry,简称VO)是SLAM技术中非常关键的部分,主要侧重于计算机视觉算法.视觉里程计这个术语借鉴了汽车的车轮里程计的概念,还是挺贴切的。我们知道汽车的车轮里程计是用来测量车速、行驶距离的测量装置。它的原理可以简单的做如下理解:汽车的车轮直径是已知的,那么车轮的周长也可以计算出来,都是一个恒定的值。车轮上安装有一个“计数器”,车轮每转动一圈就记一次数字,两次计数之间的时间也是可以测量的,因此根据车轮的周长和两次计数时间差…

  • 打印列表从尾部到头部

    打印列表从尾部到头部

  • plc-300c语言编程,PLC初学者必备:7个PLC经典编程[通俗易懂]

    plc-300c语言编程,PLC初学者必备:7个PLC经典编程[通俗易懂]1、自锁(启保停)自锁需要并联一个线圈输出的常开触点,当启动后,并联的常开触点起到维持输出继续闭合的作用,就是自锁。我们最常用的启保停程序就是自锁。2、连锁和互锁(正反转)连锁就是用两个或多个信号控制一个输出,其实就是触点串联程序。互锁其实是连锁的扩展,利用一个程序行的输出信号作为其他程序行的连锁触点,相互之间进行运行控制,就是互锁。当两个或多个输出之间存在不能同时运行的情况时,就需要用到互锁,比…

  • 系列(jupyter自动保存失败)

    JetBrains系列(IDEA、DataGrip、PyCharm)–快速离线安装插件:解决在线安装失败的问题(以Translation为案例)

  • 【mac】安装tree命令

    【mac】安装tree命令树形目录显示工具tree的安装和使用

  • XMPP个人信息展示

    XMPP个人信息展示

发表回复

您的电子邮箱地址不会被公开。

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