加个
<logic equal>标签,看看是那个页面的form返回的,就显示哪一个

解决方案 »

  1.   

    这样解决不了两个页面同时出现严重信息的情况,建议覆盖这个<error>tag,作为你这个项目的专用错误标签.
        参考方案是在里面加入"pageNo"这个参数,然后error标签自己内部控制如何选择显示错误信息,以后别的模块都可以用了.
      

  2.   

    to: For_suzhen(不懂装懂),
    谢谢您的回答,您的提议很好,但我不知如何具体实现,劳驾您帮忙示意一下好吗?
    假设:  page1.jsp page2.jsp中的表单名分别为page1Form page2Form
    page1.jsp:
    <logic equal name=" ? " value="page1Form">
       <html:errors/>
    </logic:equal>page2.jsp:
    <logic equal name="?" value="page2Form">
       <html:errors/>
    </logic:equal>
    不知以上的格式对不对? 如正确的话,name="?"中的?应该是什么?
    劳您指教,多谢!to:keel47
    谢谢您的回答,因为两个表单是单独提交不会出现同时验证信息的情况.
      

  3.   

    另外,有个疑问. 我觉得web开发项目中,这种情况出现的挺多的呀,难道struts validator框架中就没考虑这种情况吗? 
    谢谢各位!
      

  4.   

    另外,有个疑问.
    我觉得在web开发项目中这种情况挺多的呀,难道struts validator框架中就没考虑这种情况吗?
    多谢各位!
      

  5.   

    use property of html:errors tag
      

  6.   

    to: yanransoft本问题是两表单的问题,而不是两个表单项的问题.
      

  7.   

    这样你看看行不行
    设置一个隐参(pageFlg),如果是page1的错误
    就在validate方法中设置为1,如果是page2的就把它设置为2
    然后在page1.jsp中:
    <logic equal name="actionForm" property = "pageFlg" value="1">
       <html:errors/>
    </logic:equal>
    page2.jsp中:
    <logic equal name="actionForm" property = "pageFlg" value="2">
       <html:errors/>
    </logic:equal>
    这样你就让两个jsp用一个ActionForm
    logic equal 的 name 是你的ActionForm的一个实例,property   "pageFlg"不要忘了在ActionForm中写上get/set方法
    就跟其他的表单项做一样的处理就行.
      

  8.   

    对于For_suzhen的回答,我有两点疑问:
    1、因为讨论的问题是struts validator框架,无需进行具体的validator方法的编程实现,故您所说的设置隐参的方法应该不适用本问题;
    2、两个jsp中的表单内容项差别很大,仅仅少数表单项属性相同,我不知道这样能用同一个actionForm吗?
    请大家指教,谢谢!