解决方案 »

  1.   

    BookAction是否有继承关系
    如果有,在 <result type="json"></result>内加上<param name="ignoreHierarchy">false</param> 
      

  2.   

     $("#show").html(""); 这个执行了吗?data.bookData.dataList是空的
      

  3.   

    还是不得行!!!!
    public class BookAction extends ActionSupport {
    /**书籍dao对象 由spring注入**/
    private BookDao bookDao = null;
    /**书籍对象**/
    private Book book = null;
    /**页面显示数据**/
    private PageViewData bookData = null;
    /**当前页面**/
    private int pageNow = 1;
    /**每页显示的数量**/
    private final int pagePer = 7;
    /**搜索关键字**/
    private String keyword;
    public String getKeyword() {
    return keyword;
    }
    public void setKeyword(String keyword) {
    this.keyword = keyword;
    }
    @JSON(serialize=false)
    public int getPageNow() {
    return pageNow;
    }
    public void setPageNow(int pageNow) {
    this.pageNow = pageNow;
    }
    public PageViewData getBookData() {
    return bookData;
    }
    public void setBookData(PageViewData bookData) {
    this.bookData = bookData;
    }
    @JSON(serialize=false)
    public BookDao getBookDao() {
    return bookDao;
    }
    public void setBookDao(BookDao bookDao) {
    this.bookDao = bookDao;
    }
    @JSON(serialize=false)
    public Book getBook() {
    return book;
    }
    public void setBook(Book book) {
    this.book = book;
    }
    @Override
    public String execute() throws Exception {
    // TODO Auto-generated method stub
    //显示第一页的数据
    LinkedHashMap<String,String> oroderby = null;
    bookData = new PageViewData<Book>(Book.class, this.pagePer, 1,oroderby);
    return SUCCESS;
    }
    /**
     * 上一页
     * @return
     */
    public String pagePre() {
    pageNow--;
    LinkedHashMap<String,String> oroderby = null;
    this.bookData = new PageViewData<Book>(Book.class, this.pagePer, pageNow, oroderby);

    return "page";
    }
    /**
     * 下一页
     * @return
     */
    public String pageNext() {
    pageNow++;
    LinkedHashMap<String,String> oroderby = null;
    this.bookData = new PageViewData<Book>(Book.class, this.pagePer, pageNow, oroderby);

    return "page";
    }
    /**
     * 图书搜索功能
     * @return
     */
    public String search() {
    System.out.println("keywords: "+this.keyword);
    String name;
    String[] keys = this.keyword.split("\\s+");
    Map<String,String[]> keywords = new HashMap<String, String[]>();
    name="name";
    keywords.put(name, keys);
    keywords.put("ISBN", keys);
    keywords.put("publisher",keys);
    keywords.put("writer", keys);
    LinkedHashMap<String,String> orderby = null;
    this.bookData = new PageViewData<Book>(Book.class, this.pagePer,1, orderby,keywords);

    return SUCCESS;
    }使用的是里面的search 方法。。看哈Action 有没得问题里
      

  4.   

    这个是在jquery 的回调函数里面的,回调函数进不去,这个肯定没执行
      

  5.   

    使用的是里面的search 方法     <action name="bookJson" class="com.sure.action.BookAction" method="search">
      

  6.   

    使用actionName!methodName   的方法一样啊都是这样的
      

  7.   

    好像问题是: 当没有参数传到Action的时候是没问题的Action返回的数据可以在页面使用回调函数解析! <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>

    <script type="text/javascript"> function loadInfo() {
    $.ajax({
      dataType: "json",
      url: "bookJson",
      success:  function(data) {
            $("#show").html("test");//清空info内容
            $.each(data.bookData.dataList, function(i, item) {
                $("#show").append(
                        "<div>" + item.id + "</div>" + 
                        "<div>" + item.name    + "</div>" +
                        "<div>" + item.num + "</div><hr/>");
            });  
      }
    });
    }
    </script>
      </head>
      
      <body>
      <form id="searchForm">
        <input type="text" name="keyword" />
    <input type="button" value="获取" id="btnGet" onclick="loadInfo()" />
    </form>
    <div id="show"></div>
      </body>
    没有参数请求的时候是正确的!问题应该出在使用JQuery向Action传递参数的环节!但是使用原来的方法传递参数,是可以传递成功的,问题??
      

  8.   

    用$.ajax的方式调用bookJson!search可以正常调用回调函数?
      

  9.   

    我也遇到这样的问题
    strus2中返回的json数据,我用浏览器下载下来
    然后用文件存储,
    $.ajax的url指向该文件路径,可以解析出来,但是直接获取就是进不了success回调
      

  10.   

    你把action交给spring管理估计就可以了