S2SH+JQuery+JSON+AJAX表单验证及文件上传

来源:互联网 发布:剑网三正式版优化 编辑:程序博客网 时间:2024/05/16 01:48

            历时一点五天,终于把这个问题解决了,心中轻松了许多。

    这个功能的实现,我遇到了几个问题:

    1、JQuery formValidator表单验证与struts2的文件上传冲突问题。

    2、JQuery form表单异步提交插件与上传文件功能的JSON数据返回不调用success注册的回调函数问题。

    3、struts2 domain model接收值的时候总是收到空值的问题。

    4、CLOB与BLOB存入取出。

    5、中文乱码问题。

    这几个问题都令人头痛一时,幸运的是已经全部解决了。为了能够跟大家分享一下经验,在这里我就谈谈这些问题的解决方法,如果您正在被这些问题困扰,那么请你读完它,如果还是不能为您解决问题,您可以给我留言。

    1、formValidator表单验证与struts2文件上传冲突的解决办法。由于表单验证分为本地页面中验证和服务器端验证(异步交互的验证),冲突是发生在服务器端验证上的。因为是用domain model接收参数,那么就需要在页面上写ognl表达式(对象名.属性名),普通的提交和接收只需要把页面上的name属性这样设置就可以了,那么现在又需要把id也这样设置才可以,然而JQ变量又不能这样,所以就不能这样传参数到服务器端,于是我就使用了一个最简单的方式,把需要验证的字段独立出来作为字段驱动接值。

    2、关于第二个问题,它曾困扰了我5小时左右。这个问题的解决办法相当简单,那就是result的type不用json,改用plainText,通过response的writer将提示信息写回客户端,并且在客户端也不指定用json,而将消息当作一个普通的字符串。

    3、第三个问题,直到现在我也还是懵懵懂懂的。大概是之前我的配置有问题。

    4、第四个问题有很多种解决办法,其中最简单的方法就是用Hibernate框架的Hibernate的静态方法createBLOB和createCLOB,参数自己看着传就可以了。

    5、最后一个问题,是最简单的问题,同时也是相当棘手的问题。这个问题我就不多说了,百度一下一大把,找能解决问题的那种就可以了,如果感兴趣可以自己好好地研究一下。我对乱码一直都不大感兴趣,因为网上总能找到解决办法,试两种一般就解决了。

    通过一点五天的努力,终于又进了一小步,我相信往后的路会更坎坷,而我会更坚强。

原创粉丝点击