如何使用Struts2 Jquery插件实现过滤器搜索

时间:2012-10-23 09:06:35

标签: struts2 struts2-jquery jqgrid

我正在尝试为我的Struts2 jquery网格实现过滤器搜索。如果我搜索任何字符串(通过jquery过滤器文本框),那么它正在调用我的动作类,但我无法在我的动作类中获取搜索字符串。  我试图在我的Action类中打印这一行但是Search String没有出现在我的Action类中。

System.out.println("This line is getting printed But search textbox values is not printing."+searchString+""+searchField);

请为此帮助我,我尝试了很多,但仍在努力... 我的代码:

Subjectinfo.jsp

            <%@ page contentType="text/html; charset=UTF-8"%>
            <%@ taglib prefix="s" uri="/struts-tags"%>
            <%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
            <%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags"%> 
            <html>
            <head>
            <title>Hello World</title> 
            <style type="text/css">
            @import
            url(<%=request.getContextPath()%>/css/style1.css);
            </style> 
             <sj:head jqueryui="true" jquerytheme="le-frog"/> 
            </head>
            <body> 
                <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="Customer Examples"
                        dataType="json"
                        filter="true" 
                        filterOptions="{ stringResult :true, 
                        searchOnEnter : false, 
                        enableClear : true, 


                        gridModel="gridModel"
                        rowList="10,15,20"
                        navigatorDelete="true">
                    <sjg:gridColumn name="id" index="subjectId" title="ID" formatter="integer" sortable="true" key="true" 
                                       search="true" searchoptions="{sopt:['eq']}" editable="true"  hidden="true"   />

                    <sjg:gridColumn name="subjectName" index="subjectName" title="Subject Name" sortable="true" search="true"
                                        editable="true"
                                        edittype="text" />
                    </sjg:grid> 

                    </div>
            </body>
            </html>

1 个答案:

答案 0 :(得分:0)

来自http://www.trirand.com/jqgridwiki/doku.php?id=wiki:toolbar_searching

当stringResult选项设置为true时,发布到服务器的数据是一个字符串,发布数据的结构与高级搜索中的相同。

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:advanced_searching#options

所以我认为你的问题是你正在寻找searchString,但是jqgrid正在发送一个名为filters的请求变量,这是一个json字符串,如高级搜索选项链接中所述。