论坛首页 Java企业应用论坛

struts2的ajax表单验证bug,神都难救了!!!!!

浏览 2263 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-04-23   最后修改:2009-01-08
这两天很来气,原因就是struts2的ajax表单验证问题,我网上找了n久,我真是佩服了,同样的文章大家转来转去,或许就把书上的文章抄上去 ,切,是不是出现了个ajax的效果就急忙的喊着"开始神奇的ajax之旅了"?去你的,你知道不,无论是 < <struts2权威指南>>还是struts2官方给的 show-case例子,都是错误的!!
下面我就描叙下这个困扰了我两天的问题:
由于要实现ajax的验证,我在权威指南中找到了相关的例子,可是当我实际用上之后,问题出现了
这是书里的源码:
使用表单请求的返回值来填充本Form<br/>
<s:form id='theForm2'
        cssStyle="border: 1px solid black;"
        action='AjaxTest'
        method='post'
        theme="ajax">
    <s:textfield name='data' label="请输入您喜欢的图书"/>
    <s:submit value="修改Form本身" targets="theForm2"/>
</s:form>


不知道你实际运行过没有,这个例子是错误的!表单里的data数据根本就无法传递到action中去,

显示的效果是: 服务器提示:null


如果你还不信,你去看看show-case里的ajax表单验证的相同例子,一样返回是null!!!
然而,我对 < <指南>>里的例子稍作修改:
使用表单请求的返回值来填充本Form<br/>
<s:div id="mydiv">
<s:form id='theForm2'
        cssStyle="border: 1px solid black;"
        action='AjaxTest'
        method='post'
        theme="ajax">
    <s:textfield name='data' label="请输入您喜欢的图书"/>
    <s:submit value="修改Form本身" targets="mydiv"/>
</s:form>
</s:div>


并且,并且一定要在firefox里面,就能正确的显示出传递的data了!但在IE中还是为NULL

现在回到我的页面上,同样遇到相同的问题,如果我的form是嵌套在一个div里面,而且我是针对这个div进行局部刷新,
<%@ 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>

        <s:head theme="ajax" />
    </head>
    <body>
    <s:div id="mydiv" theme="ajax">
            <s:form action="onload" method="post" validate="true" theme="ajax" id="myform">
                <s:textfield name="userid" label="用户名"></s:textfield>
                <s:password name="userpwd" label="密码"></s:password>
                <s:submit value="登陆" notifyTopics="/onload" targets="mydiv" theme="ajax"></s:submit>
            </s:form>
    </s:div>        
    </body>
</html>


在firefox中一切OK.然而在IE中却始终是提交为空的,并且后台输出

2008-4-23 10:42:03 org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Invalid chunk ignored.


呵呵,看看JE有没神人来解决这个问题~~
   发表时间:2008-04-23  
CSDN风格帖子乱入?

建议代码排版一下
0 请登录后投票
   发表时间:2008-04-23  

写的有点急
不好意思,重新排了下版
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics