Olá Pessoal, ou olá para mim mesmo rsrs, afinal só tem comentário meu!  Acredito que tenha sido o primeiro a precisar disto, de qualquer forma espero q possa ajudar alguém!
Pessoal, o que eu gostaria de fazer era fazer uma pesquisa com meus componentes e mostrá-la no jquery plugin, contudo não consegui. Mas a forma alternativa
foi pesquisar com o próprio, mas este não possuía uma forma de pesquisar vários campos simultaneamente. Depois de contato com muitos e principalmente com o Yoshi, consegui algo. Vamos lá
Este tópico deveria ser pesquisa avançada com jqGrid;
primeiro passo depois de baixar e instalar o jquery plugin e criar a action que receberá os parâmetros e realizará a pesquisa:
- Na jsp realizar os imports e criar a tela de visualização:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
	<sj:head jqueryui="true" jquerytheme="start" />
</head>
<body>
	<h1>Notas</h1>
	<br>
	<div id="nota">
	 <s:url id="remoteurl" 	action="listaNotaEntrada"/>
	 <sjg:grid  
	        id="gridnota"
	        name="gridnota"	        
	        caption="Entrada de Notas"  
	        dataType="json"  
	        href="%{remoteurl}"  
	        pager="true"  
	        navigator="true"
	    	navigatorAddOptions="{height:280,reloadAfterSubmit:true}"
	    	navigatorEditOptions="{height:280,reloadAfterSubmit:false}"
	    	navigatorEdit="true"
	    	navigatorView="true"
	    	navigatorDelete="true"	        
	    	navigatorDeleteOptions="{height:280,reloadAfterSubmit:true}"
	    	navigatorSearchOptions="{multipleSearch:true}"
	        gridModel="vnes" 
	        rowList="10,15,20" 
	        rowNum="15" 
	        rownumbers="true"
	        editurl="%{editurl}"
	    	editinline="false"
	    	multiselect="false"	    	
	    	viewrecords="true" 
	    > 
	        <sjg:gridColumn 
	        	name="id_entrada" 
	        	index="id_entrada" 
	        	title="Id. Entrada" 
	        	formatter="integer" 
	        	sortable="false"
	        	width="100"
	    		editable="true" 
	    		edittype="text"
	    		search="false"
	        	/> 
	        <sjg:gridColumn 
	        	name="descricao" 
	        	index="descricao" 
	        	title="Descricao" 
	        	sortable="true"
	        	width="300"
	    		editable="true" 
	    		edittype="text"
	    		search="false" 
	    		/>
 
	        <sjg:gridColumn 
	        	name="id_regional" 
	        	index="id_regional" 
	        	title="Regional" 
	        	sortable="true"
	        	width="100"
	    		editable="true" 
	    		edittype="text"
	    		search="true"
	    		searchoptions="{sopt:['eq']}" 
	        	/>
	        <sjg:gridColumn 
	        	name="resumo" 
	        	index="resumo" 
	        	title="Resumo" 
	        	sortable="true"
	        	width="100"
	    		editable="true" 
	    		edittype="text"
	    		search="true"
	    		searchoptions="{sopt:['eq']}" 
	        	/>	        	
	        <sjg:gridColumn 
	        	name="ano" 
	        	index="ano" 
	        	title="Ano" 
	        	sortable="true"
	        	width="100"
	    		editable="true" 
	    		edittype="text"
	    		search="false"
	        	/>
	        <sjg:gridColumn 
	        	name="faturado" 
	        	index="faturado" 
	        	title="Faturado" 
	        	sortable="true"
				width="100"
	    		editable="true" 
	    		edittype="text"
	    		search="false"	    		       	
	        	/>
	    </sjg:grid>	
	</div>
</body>
</html>
O principal ponto na jsp é acrescentar a opção:
navigatorSearchOptions="{multipleSearch:true}"
Esta fará com que seja possível pesquisar por mais do que um campo simultaneamente;
O próximo passo é configurar a action para receber as informações.
Veja que por padrão os parâmetros da pesquisa são recebidos pelos fields ou properties:
Contudo quando se habilita a opção multiplesearch, ficaria ruim enviar tudo numa string, então o desenvolvedor da ferramente
decidiu enviar pela propertie:
em formato JSON;
Desta forma ao implementar a action, além de acrescentar as properties: rows, page deve ser acrescetanda a propertie filters, bem como seus métodos getter´s e setter´s
O único detalhe nesta questão é que os dados virão com o formato JSON, daí é só baixar as lib´s do mesmo e deserializá-lo.
No meu caso eu não consegui pois sempre dava algum erro de alguma coisa, daí fiz uma  “adaptação técnica de caráter permanente” (gambiarra)  lendo a string e recuperando as informações q eu precisava.
veja a action abaixo:
package gsa.action;
import gsa.dao.ConnectionFactory;
import gsa.dao.Ven_notaentrada;
import gsa.dao.Ven_notaentradaDAO;
import gsa.util.CclUtil;
import gsa.util.FieldMember;
import java.sql.Connection;
import java.util.List;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
@ParentPackage( value="json-default" )
public class ListaNotaEntradaJqAction {
	private int resumo = 0;
	private int id_regional = 0;
	private List<Ven_notaentrada> vnes;
 
	private String				field;	
	private	String				data;
	
	private String				filters;
	
	//get how many rows we want to have into the grid - rowNum attribute in the grid 
	private Integer             rows             = 0; 
	 
	//Get the requested page. By default grid sets this to 1. 
	private Integer             page             = 0; 
	 
	// sorting order - asc or desc 
	private String              sord = "asc"; 
	 
	// get index row - i.e. user click to sort. 
	private String              sidx=""; 
	 
	// Search Field 
	private String              searchField; 
	 
	// The Search String 
	private String              searchString = "0";
	
	private String				searchGrid;
	 
	// he Search Operation ['eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc']  
	private String              searchOper; 
	 
	// Your Total Pages 
	private Integer             total            = 0; 
	 
	// All Record 
	private Integer             records          = 0; 
	
	public String getSearchGrid() {
		return searchGrid;
	}
	public void setSearchGrid(String searchGrid) {
		this.searchGrid = searchGrid;
	}
	
	
	public int getResumo() {
		return resumo;
	}
	public void setResumo(int resumo) {
		this.resumo = resumo;
	}
	public int getId_regional() {
		return id_regional;
	}
	public void setId_regional(int idRegional) {
		id_regional = idRegional;
	}
	
	public List<Ven_notaentrada> getVnes() {
		return vnes;
	}
	public void setVnes(List<Ven_notaentrada> vnes) {
		this.vnes = vnes;
	}
	public Integer getRows() {
		return rows;
	}
	public void setRows(Integer rows) {
		this.rows = rows;
	}
	public Integer getPage() {
		return page;
	}
	public void setPage(Integer page) {
		this.page = page;
	}
	public String getSord() {
		return sord;
	}
	public void setSord(String sord) {
		this.sord = sord;
	}
	public String getSidx() {
		return sidx;
	}
	public void setSidx(String sidx) {
		this.sidx = sidx;
	}
	public String getSearchField() {
		return searchField;
	}
	public void setSearchField(String searchField) {
		this.searchField = searchField;
	}
	public String getSearchString() {
		return searchString;
	}
	public void setSearchString(String searchString) {
		this.searchString = searchString;
	}
	public String getSearchOper() {
		return searchOper;
	}
	public void setSearchOper(String searchOper) {
		this.searchOper = searchOper;
	}
	public Integer getTotal() {
		return total;
	}
	public void setTotal(Integer total) {
		this.total = total;
	}
	public Integer getRecords() {
		return records;
	}
	public void setRecords(Integer records) {
		this.records = records;
	}
	
	public String getField() {
		return field;
	}
	public void setField(String field) {
		this.field = field;
	}
	public String getData() {
		return data;
	}
	public void setData(String data) {
		this.data = data;
	}
		
	public String getFilters() {
		return filters;
	}
	public void setFilters(String filters) {
	/*	JSONObject json	= new JSONObject().fromObject( filters );
		System.out.println( json.get("groupOP") );
		JSONArray jsona	=	new JSONArray().fromObject(json.getJSONArray("rules"));		
		System.out.println( jsona.getString(0));
		System.out.println( jsona.getString(1) );
		
		//{"groupOp":"AND","rules":[{"field":"id_regional","op":"eq","data":"1"},{"field":"resumo","op":"eq","data":"0"}]}		
		System.out.println("Converteu o bean"); */
		/*	
		JSONObject json = new JSONObject().fromObject(filters);
		JSONArray jsona	=	new JSONArray().fromObject(json.getJSONArray("rules"));
		
		System.out.println( jsona.size() );
		System.out.println( jsona.getString(0));		
		System.out.println( jsona.getString(1) );	
		System.out.println("ok");
		*/
		// aqui foi a classe q criei para receber o json e deserializá-lo. ele devolve uma list da classe FieldMember que tem os 3 campos retornados pelo filters:  "field", "op" e "data"
                // vou postar a classe abaixo, mas veja sou inciante em java deve ter uma forma muito mais elegante de fazer isto   
                // perceba q se o pluglin do json tivesse dado certo nada do que está abaixo seria necessário. quem sabe alguém consiga implementar e poste para gente
		CclUtil util 	= new CclUtil();
		List<FieldMember> fields = util.GetJsonValues(filters);
		int i = 0;
		for( FieldMember field : fields ) {
			if (i == 0 )
				id_regional = Integer.parseInt( field.getData());
			else
				resumo = Integer.parseInt( field.getData());						
			i++;
		}		 				
		
		this.filters = filters;
	}
	@Action(value = "/listaNotaEntrada", results = { 
		      @Result(name = "ok", type = "json"  ) 
	  }) 
	  
	  
	public String execute(){
	  	int to = (rows * page);
	  	int from = to - rows;
	  		  	
	  	System.out.println("listajson");	
	  	Connection conn = new ConnectionFactory().getConnection();
                // aqui vem o método da sua DAO com a pesquisa parametrizada por page e seus orders. Veja aqui os campos que eu precisava id_regional e resumo 
		vnes = new Ven_notaentradaDAO(conn).getListaFrom( from+1,to, sidx + " "+ sord , id_regional,resumo);	
		
		records = 40;
	 
	    //calculate the total pages for the query  
	    total =(int) Math.ceil((double)records / (double)rows); 
	  
		records = vnes.size()*page;
	    
		
		
		return "ok";
	}
	
}
classe auxiliares:
FieldMember
package gsa.util;
public class FieldMember {
	private String field;
	private String op;
	private String data;
	
	public String getField() {
		return field;
	}
	public void setField(String field) {
		this.field = field;
	}
	public String getOp() {
		return op;
	}
	public void setOp(String op) {
		this.op = op;
	}
	public String getData() {
		return data;
	}
	public void setData(String data) {
		this.data = data;
	}
	
	
	
}
CclUtil
package gsa.util;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class CclUtil {
		
	public List<FieldMember> GetJsonValues( String json ) {	
		JSONObject obj 			= new JSONObject().fromObject(json);
		JSONArray objarray		= new JSONArray().fromObject(obj.getJSONArray("rules"));
				
		List<FieldMember> fms	= new ArrayList<FieldMember>();
		//{"groupOp":"AND","rules":[{"field":"id_regional","op":"eq","data":"1"},{"field":"resumo","op":"eq","data":"0"}]}
		//{"field":"id_regional","op":"eq","data":"1"}
		
		for ( int i=0;i<objarray.size();i++ ){
			String str = objarray.getString(i);
			str = str.replace("\"",""); 
			str = str.replace("{","");
			str = str.replace("}","");
			String[] fields = new String[3];
			for (int j = 0; j >< 3; j++) {								
				int index 	= str.indexOf(":");
				int index2 	= str.indexOf(",");
				boolean copiar = true;
			
				// copiar o conteúdo ainda não lido e ignorar o já lido. qdo não houver mais vírgulas copiar tudo o que restou (length)
				if ( index2 < 0 ) {
					index2 = str.length();
					copiar = false;
				}
				
				fields[j] 	= str.substring( index+1,index2 );
				if ( copiar ) {
					str	= str.substring( index2+1);
				}
			}
			
			FieldMember fm	= new FieldMember();
			fm.setField( fields[0]);
			fm.setOp(fields[1]);
			fm.setData(fields[2]);
			
			fms.add(fm);			
		}
					
		return fms;
	}
}
Bem pessoal foi isso aí, espero q seja útil para pelo menos 1 pessoa, pq deu um trabalhao chegar até aqui, ufa, rsrs!
Valeu!