struts1.3 页面 validation check失效问题

kevin2000ab 2014-08-21 01:10:36
struts做了一个小的版本升级 从struts1.2升到struts1.3
页面验证的时候 发现check失效了
原因如下

jsp代码
<html:javascript formName="UPD1050F" />
<html:form styleId="form" action="/UPD1050_inA" onsubmit="return canSubmit();">

生成的HTML中 Form name="UPD1050F" id="form"
CHECK方法是按name生成的
比如
function UPD1050F_IntegerValidations ()

到了1.3中 自动生成的代码
调用CHECK方法的地方,多了一个函数jcv_retrieveFormName
在id和name同时存在的时候 取得是id
validation自动生成的一个取得页面formName的代码如下
  
/**
* This is a place holder for common utilities used across the javascript validation
*
**/

/**
* Retreive the name of the form
* @param form The form validation is taking place on.
*/
function jcv_retrieveFormName(form) {

// Please refer to Bugs 31534, 35127, 35294, 37315 & 38159
// for the history of the following code

var formName;

if (form.getAttributeNode) {
if (form.getAttributeNode("id") && form.getAttributeNode("id").value) {
formName = form.getAttributeNode("id").value;
} else {
formName = form.getAttributeNode("name").value;
}
} else if (form.getAttribute) {
if (form.getAttribute("id")) {
formName = form.getAttribute("id");
} else {
formName = form.attributes["name"];
}
} else {
if (form.id) {
formName = form.id;
} else {
formName = form.name;
}
}

return formName;
}

结果check的function名还是按照
UPD1050F_IntegerValidations () 自动生成

调用的地方变成了
form_IntegerValidations ()
check就失效了

struts1.2到struts1.3升级 有这种BUG让我觉得难以理解
是不是犯了一些简单的配置错误 望指点

PS:form的ID 和 NAME 既存的代码里使用的地方都很多 不能轻易改动
...全文
185 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevin2000ab 2014-08-21
  • 打赏
  • 举报
回复
自己居然不能编辑自己的帖子 能不能请版主把之前的图删除掉
kevin2000ab 2014-08-21
  • 打赏
  • 举报
回复
前面图片发错了,自己不能编辑
kevin2000ab 2014-08-21
  • 打赏
  • 举报
回复
实际上 我就是按照releasenote上做的 首先apache的releasenote http://struts.apache.org/release/1.3.x/userGuide/release-notes.html 其中给了一个LINK Wiki Upgrade pages http://wiki.apache.org/struts/StrutsUpgrade 今天去看莫名其妙地这个link挂了,好在我前几天查的时候,觉得有些疑惑就把页面保存下来了 整个附件不知道如何上传就截屏了跟VALIDATION有关的部分
引用 2 楼 huxiweng 的回复:
其次不行就改name
name是各个页面的编号,正在为这个事情苦恼中
teemai 2014-08-21
  • 打赏
  • 举报
回复
其次不行就改name
teemai 2014-08-21
  • 打赏
  • 举报
回复
问题就是你的获取不对。你得检查升级版本中的releasenote

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧