告诉你struts2和easyui的关系,你的url写的没错,你错的是Action找不到出口,你return ok ,结果没有name=“ok”的result,所以当然报错。看你貌似是想用easyui的datagrid显示数据,那么你访问struts时应该在Action得到一组json数据,并用流写到前台,easyui只要找到符合其格式的json,就能显示出数据~ struts本身对ajax和json的支持不好,我建议你在Action中return null就行了,只需要一个Action入口,然后通过response.getWriter().writer(json)把json格式的数据写到前台就OK了。你登陆貌似不需要使用easyui的组件吧,传值struts怎么传就怎么传,当你用到某个组件时,就要按人家的要求来,比如获取指定参数等等。

解决方案 »

  1.   

     <result name="ok">welcome.jsp</result>如果加上这句的话就没问题了,但是没有表现示。可能是js的问题吗?
      

  2.   

    你最大的一个问题是页面的代码写错了,你是仿照demo的json格式写的,那个格式是json格式,注意是json格式,不是你column的格式,column有column的格式(是一个Json数组),你好好看看官方文档吧,问题很多~ 你有具体不明白的点可以提出来~我觉得我说的够详细了啊你有没有仔细看~
      

  3.   

    你最大的一个问题是页面的代码写错了,你是仿照demo的json格式写的,那个格式是json格式,注意是json格式,不是你column的格式,column有column的格式(是一个Json数组),你好好看看官方文档吧,问题很多~ 你有具体不明白的点可以提出来~我觉得我说的够详细了啊你有没有仔细看~你是说我的jsp还是js?我基础不太好,是从中间入手学的,你帮我看看应该怎么改?辛苦了!
      

  4.   

    你最大的一个问题是页面的代码写错了,你是仿照demo的json格式写的,那个格式是json格式,注意是json格式,不是你column的格式,column有column的格式(是一个Json数组),你好好看看官方文档吧,问题很多~ 你有具体不明白的点可以提出来~我觉得我说的够详细了啊你有没有仔细看~你是说我的jsp还是js?我基础不太好,是从中间入手学的,你帮我看看应该怎么改?辛苦了!
    easyui的datagrid你只需要定义一个空的table,给个id,通过$("#id").datagrid();这个方法去实现的。
    我前面告诉你流程了~  一般是页面加载的时候调用$("#id").datagrid();进入你在里面配置的url,也就是进到Action,你在Action应该做的是取得数据,一般封装成List,然后想办法拼成符合Dategrid格式的Json(不复杂),然后通过流write到前台。你在前台的$("#id").datagrid();里面配置的columns,是一个Json数组,按文档的来,每个column的field要和你json里bean的属性一致,能对应上就能显示出来。struts中不要定义那些<result type="json">,你就写一个普通的Action,只给一个入口,不用配置<result>都行,在Action中write完Json之后就return null,这样就OK了。
      

  5.   

     easyJson   看看json 数据对不
      这个   return "ok";-----> return SUCCESS;  
     配置  
    <action name="loginAction" class="bean_LoginAction">
                <result type="json">
                    <param name="root">easyJson</param>
                </result>           
            </action>
      

  6.   

    你最大的一个问题是页面的代码写错了,你是仿照demo的json格式写的,那个格式是json格式,注意是json格式,不是你column的格式,column有column的格式(是一个Json数组),你好好看看官方文档吧,问题很多~ 你有具体不明白的点可以提出来~我觉得我说的够详细了啊你有没有仔细看~你是说我的jsp还是js?我基础不太好,是从中间入手学的,你帮我看看应该怎么改?辛苦了!
    easyui的datagrid你只需要定义一个空的table,给个id,通过$("#id").datagrid();这个方法去实现的。
    我前面告诉你流程了~  一般是页面加载的时候调用$("#id").datagrid();进入你在里面配置的url,也就是进到Action,你在Action应该做的是取得数据,一般封装成List,然后想办法拼成符合Dategrid格式的Json(不复杂),然后通过流write到前台。你在前台的$("#id").datagrid();里面配置的columns,是一个Json数组,按文档的来,每个column的field要和你json里bean的属性一致,能对应上就能显示出来。struts中不要定义那些<result type="json">,你就写一个普通的Action,只给一个入口,不用配置<result>都行,在Action中write完Json之后就return null,这样就OK了。那column对就action里什么样的类型呢?是array还是list还是map?
      

  7.   

    3楼说的不错,action里面return null. 同时response.getwriter.write(Gson.toJson(products));  Gson加载一个jar包就ok
      

  8.   

    +1
    不过 调action 好像是这样吧  project!LoginAction.action