我在action里有这句:
errors.add("image", new ActionError("reimage"));
if (!errors.isEmpty()) {
this.saveErrors(request, errors);
}
return (actionMapping.findForward("faild"));
这个action是上传图片的。faild是又跳转回了上传图片的jsp页。我在上传图片的jsp页里写了
<html:errors property="image"/>
这句是放在body的下面的。 而且我也在属性文件里写了
reimage=该图片已经上传或者名字重复,请确定图片没有重复的情况下更改名字之后再上传新图片
可是当文件重复上传时,数据库里是不会产生新的一条记录,但是页面上却打印不出属性文件里的错为什么?是缺了哪步,还是怎么回事,用这种错误管理,没必要继承表单验证类吧。以上是所有的步骤,高手帮忙
errors.add("image", new ActionError("reimage"));
if (!errors.isEmpty()) {
this.saveErrors(request, errors);
}
return (actionMapping.findForward("faild"));
这个action是上传图片的。faild是又跳转回了上传图片的jsp页。我在上传图片的jsp页里写了
<html:errors property="image"/>
这句是放在body的下面的。 而且我也在属性文件里写了
reimage=该图片已经上传或者名字重复,请确定图片没有重复的情况下更改名字之后再上传新图片
可是当文件重复上传时,数据库里是不会产生新的一条记录,但是页面上却打印不出属性文件里的错为什么?是缺了哪步,还是怎么回事,用这种错误管理,没必要继承表单验证类吧。以上是所有的步骤,高手帮忙
<message-resources parameter="com...ApplicationResources"/>
我现在是没这句,难道是这个错?不过这个属性文件不是在web.xml里面写就行了吗
另外Action配置validate="true"也要的
reimage=XXXX
还是不行,请高手指点
<error-page>
<error-code>image</error-code>
<location>上传图片的jsp页</location>
</error-page>
<error-page>
<exception-type>reimage</exception-type>
<location>上传图片的jsp页</location>
</error-page>
exception-type和error-code对应的是不是正确的我就不知道了.
前辈,用actionerrors的话用把validate设成true吗,还用写input吗,我都在action里用mapping跳过去了。
我现在的步骤大概就是:
1.form没有继承验证类,我觉得用actionerrors没有必要继承这个,用正则验证时才用吧。
2.struts-config.xml配置里
<action name="gifNewsForm" path="/gifUpload" scope="request" type="ybred.GifUpload" validate="true" input="/gifNewsAdd.jsp">
<forward name="faild" path="/gifNewsAdd.jsp" redirect="false"/>
<forward name="success" path="/gifContentAdd.jsp"/>
</action>
3.action里的代码如下:
if (image.equals(myFile.getFileName())) {
errors.add("image", new ActionError("reimage")); if (!errors.isEmpty()) {
this.saveErrors(request, errors);
}
return (actionMapping.findForward("faild"));
}
4.gifNewsAdd.jsp里如下:
<html:errors property="image"/>以上是所有步骤不知道对不对,或是缺了哪一步,不过我先按前辈说的把那段添上