`
wangrl
  • 浏览: 152397 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2+jquery.validate框架实现影片编码是否存在

阅读更多
在项目中的注册页面需要判断影片编码是否存在,采用了jquery的验证框架的remote方法来实现。

1、js脚本:
$(document).ready(function(){
    $("#myForm").validate({      
        rules:{ 
            "mediaInfo.mediacode":{ 
                required:true, 
                remote:"media!validateMediacode.action" //验证影片编码是否存在的Action 
            } 
       }, 
       messages: { 
            "mediaInfo.mediacode":{ 
                required:"请输入影片编码",
                remote:"该影片编码已被注册" //当后台返回false时,不许注册 
            } 
      } 
     });
}) ;

2、java代码:
     由于jquery的remote方法只允许返回true或者false,当返回false时,输出messages的内容:"该影片编码已经注册"。在Struts2的有两种方法可以实现:
     (1)、利用HttpServletResponse对象的response实例,Java代码如下:
public String validateMediacode() throws Exception{
	HttpServletRequest sRequst= ServletActionContext.getRequest();
	sRequst.setCharacterEncoding("UTF-8");
	HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("text/plain;charset=UTF-8");
	String meidacode = sRequst.getParameter("mediaInfo.mediacode"); 
	
	if(null != meidacode && "wangwang".equals(meidacode)){
		//影片编码已经存在,不许注册
		response.getWriter().write("false");
	} else {
		//允许注册
		response.getWriter().write("true");
	}
	return null;
}

struts.xml配置:可以不用配置<result>输出项。本方法的缺点是依赖于HttpServletResponse。
    (2)、使用Struts2的stream返回类型:
          
Boolean canSign = true; 
           // 数据库中是否存在该用户名 
          if (null != meidacode && "wangwang".equals(meidacode)) { 
              canSign = false;// 表示存在,要返回false 
          } 
          inputStream = new ByteArrayInputStream(canSign.toString().getBytes()); //将true或者false转化为流,要为inputStream提供getter方法。 
          return null; 

引用

由于remote规则只允许后台返回true或false,因此struts2的action得不同于一般的action,不能返回一个字符串,然后dispatch一个视图之类的。研究之后,发现struts2中有一种result类型:stream,通过该类型可以实现返回true或false。action代码如下

struts.xml配置:
<package name="media" extends="struts-default">  
        <action name="media" class="mediaAction">  
            <result type="stream">  
                <param name="contentType">text/plain</param><!-- 默认为text/plain -->  
                <param name="inputName">inputStream</param><!-- 默认就为inputStream -->  
            </result>  
        </action>  
    </package>

以上的contentType不能使用text/html类型,也可以不用配置该项,默认就是text/plain类型。
分享到:
评论

相关推荐

    Struts2+jquery.validate框架实现用户名是否存在

    ### Struts2与jQuery.validate框架简介 #### Struts2框架 Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,提供了一个用于构建企业级Java Web应用的强大MVC框架。Struts2的核心组件包括拦截器、...

    jquery.validate 版本大全

    jquery.validate.1.9.0.min.js jquery.validate.1.12.0.min.js jquery.validate.1.13.1.min.js jquery.validate.1.16.0.min.js jquery.validate.1.14.0.min.js jquery.validate.1.15.1.min.js jquery.validate....

    jquery.validate.js下载

    jquery.validate.js jquery.validate.js

    jquery.validate+jquery.form.rar

    2. validate.js或validate.min.js:这是jQuery Validate插件的主要文件,提供了验证功能。 3. form.js或form.min.js:这是jQuery Form插件的文件,用于实现Ajax表单提交。 4. 可能还会有其他资源文件,如CSS样式表...

    jquery.validate.min.js

    jquery.validate.min.js jquery jquery验证插件 validate

    最新jQuery.validate.js+帮助文档:jQuery.validate.js+jquery.metadata.js+messages_cn.js

    jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来...

    jquery.validate.js

    jquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.js...

    jquery.validate.unobtrusive.js

    微软的jquery.validate.unobtrusive.js验证插件,可以用来验证单选和多选框的.

    jquery.validate.js表单验证.pdf

    2. 验证规则:文件列出了jquery.validate.js提供的多种表单验证规则,包括required(必填)、email(电子邮件格式)、url(URL格式)、date(日期格式)、dateISO(ISO日期格式)、number(数字)、digits(数字)、...

    jQuery.validate.js

    jQuery.validate.js是一款强大的JavaScript插件,专为jQuery框架设计,用于实现前端表单验证,提供了丰富的验证规则和自定义选项,使得开发者能够轻松地构建具有高效验证功能的网页。 一、jQuery.validate.js的核心...

    jQuery.validate 用法

    《jQuery.validate 用法详解及源码解析》 在网页开发中,表单验证是必不可少的一环,确保用户输入的数据符合预设的规则,避免无效数据的提交。jQuery.validate插件是一个强大的、易于使用的JavaScript库,它使得在...

    jquery.validate.extend.js

    jquery.validate.extend.js

    jquery表单验证框架:jquery.validate.zip

    《jQuery表单验证框架——深入理解jQuery.validate》 在网页开发中,表单验证是必不可少的一环,它能确保用户输入的数据符合预期,减少服务器端的处理负担,提高用户体验。jQuery是一个广泛使用的JavaScript库,而...

    jquery.validate-1.13.1.js

    jquery.validate插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来...

    jQuery.validate验证

    jQuery.validate允许你自定义错误消息,通过设置`messages`对象来实现。例如: ```javascript messages: { required: "这是必填字段。", remote: "请修正此字段。", email: "请输入有效的电子邮件地址。", /...

    jquery.validate.js 和 帮助文档.rar

    本文将深入探讨jQuery validate.js的核心功能及其API,同时结合提供的帮助文档,为你揭示其背后的实现原理和使用技巧。 首先,jQuery validate.js的主要功能是为HTML表单提供强大的验证规则。通过简单的配置,...

Global site tag (gtag.js) - Google Analytics