如何在jquery网格页面中实现struts2动作错误

时间:2012-11-01 13:23:16

标签: struts2 struts2-jquery

我有一个带有struts2 jquery网格的jsp页面。我想在我的动作类中显示jsp页面中的错误。 为了显示错误,我正在使用

添加错误消息
addActionError("You can not delete this  data");

我的动作类中的代码。并显示它我正在使用

<s:if test="hasActionErrors()">
   <div class="errors">
       <s:actionerror/>
    </div>
 </s:if>
我的jsp页面中的

代码。但不幸的是,我无法在我的jsp页面中显示错误。 请分享您对此问题的了解。

- 谢谢   Ashutosh说

完整代码:

的index.jsp:

.....
.....

    <body>  

    <s:if test="hasActionErrors()">
               <div class="errors">
                  <s:actionerror/>
               </div>
            </s:if>

        <div id="setpage"> <s:url id="editurl" action="nedit"/>
            <s:url id="editurl" action="nedit"/>
            <s:url  id="remoteurl" action="ntable"/>  

            <sjg:grid
               id="gridtable"
                caption="List of Subject Details"
                dataType="json"
                href="%{remoteurl}"
                pager="true"
                gridModel="gridModel"
                rowList="50,100,5000"
                rowNum="20"
 .....
 ...... 

我的action.java

                  .........
                  .........
                  else
               {
                   addActionMessage("Unable to delete row");
                      return ERROR;
               }  
               return SUCCESS;
                   .........
                   .........

struts.xml中

                 <package name="gridedition" extends="struts-default,json-default"> 
                            <action name="editionntableshow" class="v.esoft.actions.actionfile" >
                                <result name="success" type="json"/> 
                                                         <result name="error" type="json"/> 
                            </action>  

                       <action name="editionedit" class="v.esoft.actions.editiondetails.EditiondetailsEditAction"> 
                            <result name="success" type="json"></result>          
                        </action>
                 </package>

2 个答案:

答案 0 :(得分:1)

这解决了我的问题...

<s:if test="hasActionErrors()">
  <div class="errors">
   <s:actionerror theme="jquery"/>
   </div>
 </s:if>

答案 1 :(得分:0)

jqGridajax提交删除行操作,而hasActionErrors次操作不是ajax,因此无法捕获。 为了捕获这些动作错误/消息,这不应该是ajax / json动作。