请问jquery如何用ajax与struts2交互
研究了一个晚上,摸不着头脑,找大家帮忙……
之前与servlet交互的时候,ajax的url指向servlet。
现在在学struts2,用struts2 url应该指向哪里啊? xxx.action吗?  
jquery的post代码,url这样写对吗?
JScript code
var url = "login.action";
$( "#info" ).html( "登陆中..." );
$.post( url, { userName: userName, userPwd: userPwd }, loginCallback );
struts.xml   不知道login的配置有没问题
XML code
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="root" extends="struts-default" namespace="/root">
        <action name="index">
            <result name="success">/WEB-INF/pages/index.jsp</result>
        </action>
        <action name="login" class="net.mjrg.webstruts2ajax.actions.LoginAction" method="login">
            <result name="success">/WEB-INF/pages/ok.jsp</result>
            <result name="fail">/WEB-INF/pages/index.jsp</result>
        </action>
    </package>
</struts>
Action类里如何获取ajax传来的值,如何把处理完的数据返回给ajax的回调函数,能返回xml吗?Action类应该怎么写啊
------解决方案--------------------一般都是Action类通过Getter方法获得注入的值
------解决方案--------------------struts2 你学了多久?看看马士兵视频吧。
你配置了 命名空间 namespace="/root"  那么你的action路径就是   /root/login.action.
当然 你也可以把参数写在url里面,/root/login.action?username=XXX&password=YYYY
能看到信息就这么多
------解决方案--------------------晕,发完了才想起来,root前要不要 /,上面的路径不行话,去掉开始的斜线试一下,或者
  /项目名/root/login.action
------解决方案--------------------页面可以这样去配置:
                             $.ajax({
 				url: "login.action",	
                               data: "userName="+userName+"&password="+password,			  	type: "POST",
 				success: function(data){
                                   alert(data);//data就是action处理后返回的信息
                               }
                       });
struts的配置文件可以这样配置
  <action name="login" class="net.mjrg.webstruts2ajax.actions.LoginAction" method="login">
</action>
在action中的login方法代码可以这样去写:
 首先在action类中要有两个属性来接收页面传过来的userName和password,并且生成get和set方法  
   public  void login(){
       HttpServletResponse response = null;
       String result = "";
       try {
           response = ServletActionContext.getResponse();
           response.setCharacterEncoding("UTF-8");
           response.setContentType("text/plain");
           //这里处理你登录操作 
           result = "登录成功!";
           response.getWriter().print(result);//将结果传到页面中 这里你可以组织你想要的数据格式来进行传递到页面
       } catch (Exception e) {
           result = "登录失败!";
           try {
               response.getWriter().print(result);
           } catch (
IOException e1) {
           }   
       }
------解决方案--------------------struts.xml[action:name]!methodname.action
------解决方案--------------------<script type="text/javascript"