zoukankan      html  css  js  c++  java
  • Struts2--简单的数据校验

    action没有request, response等属性, 无法往前台传信息, 

    出来一个概念, valuestack: 存放action的属性, 还有各种error等...

    <s:property>专门取valuestack和context的属性

    jsp显示文件:

    使用addFieldError方法和s:fieldError标签简单处理数据校验
    <a href="user/user!add?name=a" >添加用户</a>
    

    struts.xml :

     <package name="user" extends="struts-default" namespace="/user">
            <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
                <result>/user_add_success.jsp</result>
                <result name="error">/user_add_error.jsp</result>
            </action>
        </package>
    

    action:

    package com.bjsxt.struts2.user.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;
    	}	
    }
    

    user_add_error.jsp如何拿到field error值? 用struts标签

    需要在jsp前面加上 <%@taglib uri="/struts-tags" prefix="s" %>

    <%@taglib uri="/struts-tags" prefix="s" %>


    <body> User Add Error! <s:fielderror fieldName="name" theme="simple"/> <br /> <s:property value="FieldErrors.name[0]"/> <s:debug></s:debug> </body>

    以上第一种显示方式会被绑架显示格式, 在显示错误信息之前会显示一个.

    第二种方式就可以直接提取出来. <s:property value="FieldErrors.name[0]"/>

      

  • 相关阅读:
    MVC3 中上传大文件
    js 将十进制转换为八位二进制数组
    nodejs 读取并处理二进制文件
    freeswitch源码编译 ./configure 遇到的问题
    通道设置静态坐席
    呼叫中心静态座席的配置
    ECharts报表
    combotree
    openlayer PanZoom
    为什么要始终使用PreparedStatement代替Statement?
  • 原文地址:https://www.cnblogs.com/wujixing/p/5202705.html
Copyright © 2011-2022 走看看