现在有一个编辑页面,用户编辑完点保存,在执行保存的action里面要根据判断来执行保存,如果不符合就提示一句话,并返回到刚才的用户已经编辑过的编辑页面,否则的话就保存。现在想问下提示的呢句话怎么才能在页面上提示呢?

解决方案 »

  1.   

    ajax。LZ可以找下dwr框架的资料看下、
      

  2.   

    <FORM name="myForm" onSubmit="return check();" action="" method="POST">
    加上红色部分,然后写check()这个函数,判断符不符合要求,符合return true,不符合return false
    这样的话,在提交的时候红色部分就会判断Check()这个函数的。
    希望能帮到你
      

  3.   


    保存的按钮是自定义标签写的,有action,判断符合不符合是在后台里面代码
      

  4.   

    struts1貌似是有Action Error Message,具体类名字忘记了,把错误信息放到error 对象里,然后抛出一个异常啥的。页面用html:error标签。
      

  5.   

    在jsp页面中用 <html:errors/> 显示全部出错信息,或者使用 <html:errors   property= "username "/> 等分别显示出错信息。
      

  6.   

    ajax  或者 jquery 都有异步请求  楼主可以看看
    <script type="text/javascript">
    var xHttpRequest;
    function getXmlHttpRequest()
    {
    if(window.XMLHttpRequest)
    {
    xHttpRequest = new XMLHttpRequest();
    }else
    {
    xHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    function getMethod()
    {
    var dateStr = new Date();
    var url = "http://192.168.138.206:8080/ajax/AjaxServlet?english=helloworld&chinese=中文&date="+dateStr;
    url = encodeURI(encodeURI(url));
    getXmlHttpRequest();
    xHttpRequest.onreadystatechange = function()
    {
    if(xHttpRequest.readyState==4)
    {
    alert(xHttpRequest.responseText);
    }
    }
    xHttpRequest.open("get",url,true);
    xHttpRequest.send(null);
    }
    </script>
      

  7.   

    如果后台代码里边可以用javascript代码的话,可以在处理页开头处加一个if判断,用alert可以跳出提示框,再在alert语句下边加上跳转语句window.location.href=“要跳到的地址”就可以了!
      

  8.   

    很感谢各位的解答,我现在在action中用了
    if(list.size>0){
    response.setContentType("text/html;charset=utf-8");
    PrintWriter outjs = response.getWriter();
    outjs.print("<script>alert('有用户在操作,请稍候!!');</script>");
    return;
    }
    但是没有弹出来框不知道怎么回事,页面中编码格式也是 utf-8的,是我用错了吗???
      

  9.   

    这都可以?
    outjs.flush();
    outjs.close();先
      

  10.   

    你网上搜搜struts1验证,好多代码呢。
      

  11.   

    建议LZ先弄明白最基本的、最简单的流程
    从JSP提交内容到action、如果不符合,写一个变量记录下提示信息放在request里传到刚开始的JSP。
    当然了既然你说的是修改,返回到修改页面的时候肯定是要吧你提交之前的消息都给还原。。也简单,request里在放一个刚提交上来的对象(字符)
    如果符合,直接update
    。如果这些基本的思路走通了,那么在去追求框架,追求用户体验,追求技术含量,追求高科技
    good luck
    下班了
      

  12.   

    outjs.print("<script>alert('有用户在操作,请稍候!!';location='XXX.do');</script>");
    如此简单的东西!被你搞的如此复杂!
      

  13.   

    你action提交本来就是用的表单提交方式,你直接在form里面的vadate方法里面进行验证,action Message
      

  14.   

    为什么一堆人让使用ajax呢???是不是除了js别的都不会了?
    人家楼主问的是struts1,本身就有错误处理机制,改什么ajax啊。在Action里forward到错误页面就行,5楼是正解。楼主还是系统的看一下struts1的处理过程吧,你的这个问题涉及到最基础的部分。推荐ajax的就算了,人家业务流程都写完了。
      

  15.   

    可以用两种方法实现,要不用ajax,不过ajax不是在action判断了
    要么就用错误消息,下面是我以前做过的,给你参考一下,下面代码我都写上注释了,不懂可以问
      1.首先在错误消息文件中把错误消息用一个工具翻译好复制到错误消息文件中(注明:如果没有这个工具把邮箱给我我给你发)
       这是错误消息文件叫ApplicationResources.properties这是其中内容
        如:# Resources for parameter 'demo.ApplicationResources'
          # Project pet_prj
          #用户名或密码错误,请从新输入
           errors.header=<font color='red'>  
          errors.footer=</font>
          petInfo.exist=\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef,\u8bf7       \u4ece\u65b0\u8f93\u5165
      其中petInfo只是一个变量名称在action中就要把他存入作用域中
       2.在acion中
         
    ActionErrors errors = new ActionErrors(); //生成错误消息  
    ActionMessage msg = new ActionMessage("not.exist");// 获得错误消息
    errors.add("msg",msg);//添加到错误消息中
    super.saveErrors(request, errors);//保存错误消息
        
    要记得action最上面要导入两个类
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMessage;
    3.在html中如何用
       <h3><html:errors property="msg"/></h3>直接读取msg4.还有要在struts-config.xml配置一下,要记住放在  </action-mappings>之后
       <!-- 请求指定处理器 -->
    <controller processorClass="common.coding.MyRequestProcessor"/>
     <message-resources parameter="demo.ApplicationResources" />  
      

  16.   

    对了第四部这句你不用管
       <controller processorClass="common.coding.MyRequestProcessor"/>
       这句是我写的转编码格式,可以不用谢直接写下面那句,希望我的回答对你能有所帮助,如果有不懂得地方继续问
      

  17.   

    这个就看你是前台来验证的,还是要通过数据库来判断的,如果只是前台判断用户填写数据是否合格,那就用前台js来实现了,如果还有通过后台数据库来判断,那就要用ajax来判断了,这个根据需求而定。