Struts2中输入验证
来源:互联网 发布:创业项目ppt运营数据 编辑:程序博客网 时间:2024/05/21 22:36
1:login.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!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>
<form action="islogin3" method="post">
用户名:<input type="text" name="username"/>
<%-- <s:fielderror fieldName="username"></s:fielderror> --%>
<font color="red">${fieldErrors.username[0]}</font><br/>
密码:<input type="password" name="pwd"/>
<font color="red">${fieldErrors.pwd[0]}</font><br/>
<%-- <s:fielderror fieldName="pwd"></s:fielderror> --%>
<input type="submit" value="登陆"/><br/>
</form>
<s:debug></s:debug>
</body>
</html>
2:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<!-- 配置 Struts2 的 Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/day01/welcome.jsp</welcome-file>
</welcome-file-list>
</web-app>
3:struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 一旦Struts.xml文件修改后就自动重新加载 -->
<constant name="struts.configuration.xml.reload" value="true"></constant>
<!--默认视图 -->
<constant name="struts.ui.theme" value="simple"></constant>
<!-- 编码格式 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 配置 Struts 可以受理的请求的扩展名 -->
<constant name="struts.action.extension" value="action,do,"></constant>
<!-- 允许ognl静态访问资源 -->
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<!-- 设置是否支持动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<package name="hellodemo" extends="struts-default" namespace="/">
<default-action-ref name="welcome"></default-action-ref>
<!-- 配置 全局结果集-->
<global-results>
<result name="input">/day01/login.jsp</result>
<result name="error">/day01/error.jsp</result>
</global-results>
<!-- 配置全局异常 -->
<global-exception-mappings>
<exception-mapping result="error" exception="java.lang.NULLPointerException"></exception-mapping>
</global-exception-mappings>
<action name="findalluser" class="cn.itcast.action.User1Action" method="findalluser">
<result name="success">/day03/showTag.jsp</result>
</action>
<action name="islogin2" class="cn.itcast.action.LoginAction" method="checklogin">
<result name="suc">/day02/suc.jsp</result>
<result name="input">/day02/index_login.jsp</result>
</action>
<action name="islogin3" class="cn.itcast.action.User1Action" method="islogin">
<result name="success">/day03/success.jsp</result>
<!-- struts2验证不通过转移的页面 -->
<result name="input">/day03/login.jsp</result>
</action>
<action name="hello" class="cn.itcast.action.HelloAction" method="execute">
<result name="success">/hello.jsp</result>
</action>
<action name="upload" class="cn.itcast.action.UploadFileAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="islogin" class="cn.itcast.action.UserAction" method="islogin">
<!-- action中的方法执行完后不直接返回jsp页面,而是执行另一个action中的方法 -->
<result name="success" type="chain">findsomeinfo</result>
</action>
<action name="isreg" class="cn.itcast.action.UserAction" method="isreg">
<result name="success">/day01/regsuc.jsp</result>
</action>
<action name="findsomeinfo" class="cn.itcast.action.UserAction" method="findinfo">
<result name="success">/day01/success.jsp</result>
</action>
<action name="welcome">
<result>/day01/welcome.jsp</result>
</action>
</package>
</struts>
4:UserAction
package cn.itcast.action;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
//Struts2验证时必须继承ActionSupport,重写validate方法
public class User1Action extends ActionSupport{
private static final long serialVersionUID = 1L;
private List<Users> userlist;
private String username;
private String pwd;
public String findalluser(){
System.out.println("findalluser...");
userlist=new ArrayList<Users>();
Users user1=new Users(1001,"zhangsan","123","张三");
Users user2=new Users(1002,"lisi","234","李四");
Users user3=new Users(1003,"wangwu","345","王五");
userlist.add(user1);
userlist.add(user2);
userlist.add(user3);
return "success";
}
//struts2框架先执行validate方法,如果验证失败,则不会在执行其它方法,直接返回"input"
@Override
public void validate(){
if(username==null||username.equals("")){
super.addFieldError("username", "用户名不能为空!");//添加错误信息
}if(pwd==null||pwd.equals("")){
super.addFieldError("pwd", "密码不能为空!");
}
super.validate();
}
public String islogin()
{
System.out.println("执行islogin登陆验证...");
System.out.println("接收到页面提交的username:"+username+",pwd:"+pwd);
return "success";
}
public List<Users> getUsers() {
return userlist;
}
public void setUsers(List<Users>userlist) {
this.userlist = userlist;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
5:success.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<!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>
<h3>登陆成功</h3>
</body>
</html>
- Struts2中输入验证
- 关于struts2文件中验证框架的输入验证
- struts2输入验证--补充
- struts2输入验证流程
- struts2输入验证总结
- Struts2-输入验证
- Struts2的输入验证
- Struts2 的输入验证
- struts2输入验证
- struts2 --- 输入验证Validation
- Struts2-13 输入验证
- 在struts2框架中实现手动处理输入验证
- Struts2之类型输入验证
- struts2 输入验证(服务器端)
- struts2输入验证--validate()方法验证
- struts2输入验证之短路验证
- 基于Struts2验证框架的输入验证
- Struts2中输入效验
- mysql_建立索引的优缺点
- 机器视觉方案中如何选择工业镜头
- 深入理解jvm 虚拟机(一)
- 2017.7.13 C组总结
- [CMD]关机命令
- Struts2中输入验证
- WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-ja
- bootstrap-multiselect 手动触发onChange事件
- Vim配置 显示行号 语法高亮 智能缩进 更适合程序员使用
- 概念地图,认知学习,模式框架
- 二维数组指针的简单使用
- AndroidStudio中源代码查看
- Unity3D关于多SDK合并网摘总结
- 牛顿法、梯度下降法、高斯牛顿法、Levenberg-Marquardt算法