想知道struts2+ajax+json怎么实现比较合理!?

才上班几天,想问下大家在使用struts2处理ajax请求时,怎么实现比较合理!?数据交换格式用json!谢谢!···
我只知道在action里拼装json拿到页面eval来处理!···请赐教···谢谢!struts2里lib包下的json包和json-plug 怎么用呢?

说一下啊我工作中的怎么使用的吧。Ajax请求使用Jquery发送Ajax请求。在服务端专门有一个Action来处理Ajax请求。返回数据格式用Json。比较方便的。jsonplugin-0.32.jar包放到你的lib目录下就可以了。然后就是配置了。我是把所有的Ajax请求的Action放在一个package里,注意这个package要extends="json-default",action的result要注明是json.如:。
至于json传到页面时。就用你说的eval就可以了。没有什么难的地方。
唯一有点问题的地方估计是jsonplugin.jar和struts2的版本匹配了。你可以到这个地方看看。http://code.google.com/p/jsonplugin/downloads/list。

首先在struts.xml中添加以下内容,具体内容请自行替换:



utf-8


之后Action中返回的内容会自动打包成json格式的数据传到前台ajax中。

恩是滴~~给你个例子:
public class LoginAction extends ActionSupport {

private static final long serialVersionUID = 1L;

private String username;
private String password;
private String permission;
private boolean result;
public boolean isResult() {
    return result;
}
public void setResult(boolean result) {
    this.result = result;
}
public String getPermission() {
    return permission;
}
public void setPermission(String permission) {
    this.permission = permission;
}
public String getUsername() {
    return username;
}
public void setUsername(String username) {
    this.username = username;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}

public String validateUser() throws Exception {
    /*this.setResult(false);
    LoginManager userManager=new LoginManagerImpl();
    int userId=userManager.login(username, password, permission);
    System.out.println(userId);
    if(userId>0){
        this.setResult(true);
    }

*/
return SUCCESS;
}
}
我把处理数据的部分注释掉了。如果你前台传了username,password,permission这种类似的数据,一定要先封装一下,这样才可以获得值。这里return的数据就是以上传过来的数据,你可以在前台alert一下就可以看到了。关于你说的response我没有在我写的程序里用到过,我也新学不久,在servlet、Jsp中接触过response。你用的struts是1还是2?1中好像用这个的?struts2好像都用return了么。