0
点赞
收藏
分享

微信扫一扫

struts 简单前台用户名校验

惠特曼 2022-02-25 阅读 70


一个jsp


<?xml version="1.0" encoding="GB18030" ?>

<%@ page language="java" contentType="text/html; charset=GB18030"

    pageEncoding="GB18030"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "​​​​http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"​​​​>

<html xmlns="​​​​http://www.w3.org/1999/xhtml"​​​​>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />

<base href="<%=basePath %>"/>

<title>Insert title here</title>

</head>

<body>

使用addFieldError方法和s:fieldError标签简单处理数据校验

<a href="user/​user!add?name=a​" >添加用户</a>



</body>

</html>





Action

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {

    private String name;


    public String add() {

        if(name == null || !name.equals("admin")) {

            this.addFieldError("name", "name is error");
            this.addFieldError("name", "name is too long");

            return ERROR;

        }

        return SUCCESS;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }



}




跳到另一个jsp


<?xml version="1.0" encoding="GB18030" ?>

<%@ page language="java" contentType="text/html; charset=GB18030"

    pageEncoding="GB18030"%>

<%@taglib uri="/struts-tags" prefix="s" %>
​<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "​​​​http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"​​​​>

<html xmlns="​​​​http://www.w3.org/1999/xhtml"​​​​>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />

<title>Insert title here</title>

</head>

<body>

    User Add Error!

    ​<s:fielderror fieldName="name" theme="simple"/><%--   struts的固定样式simple显示Action往fielderror中添加的错误信息  --%>
​    <br />

    ​<s:property value="errors.name[0]"/>​><%--  取错误信息值栈是一个Map,键errors对应的value是一个Map,键name对应的value是一个数组或者集合,所以上面的Action中可以往name中添加多条信息  --%>


​   ​ <s:debug></s:debug><%-- 该标签调试用,加上后在页面中可以看值栈中的内容, --%>

</body>

</html>


举报

相关推荐

0 条评论