对于输入的数据进行校验:但是总是只能取到第一行的值,是因为对于新增的表格行使用的是clone函数,所以所有的表格行ID重复,如果从表格行以ID取值,则只能取到第一行的值,因此可以添加name属性,从name属性取值,(name属性是可允许重复的)通过表格行的name属性取值,具体实现如下:
表单:
save实现校验:
说明:采用框架(struts+ibatis+Spring)
jquery中$与自定义的相重复,重定义为$j,含义与作用一样
通过document.getElementByName得到的返回是数组型
双循环判断数组中是否有重复
url为要执行的action路径,
在Action的java文件中新建existsParameter.action,调用findSysParameterByEnglishName方法:
在Manager中定义该findSysParameterByEnglishName方法的接口,在ManagerImpl中实现接口:
queryForObject(”调用的对应sql中的ID为findSysParameterByEnglishName的语句“,传入SQL中的参数),从SQl中传回来的值若为NULL,则该记录不存在,若不为NULL,则已存在该英文参数名,实例化一个对象para接收从dao层返回的值
SQL语句实现查询:
parameterClass 和传进来的参数类型相对应(englishName为String)
resultClasshe 和传回去的参数类型相对应(强制转为SysParameter型被para接收)
对Action 进行配置:
该action没有设置<result>,因为该action仅仅实现校验,并不进行页面跳转,因此在添加Action时定义返回类型为void型(见上面的图)