yoyo837837
2010-11-28 12:01
浏览 249
已采纳

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • taotaoBS 2010-11-29 09:45
    已采纳

    说一下啊我工作中的怎么使用的吧。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。

    打赏 评论
  • szz0429 2010-11-29 11:51

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



    utf-8


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

    打赏 评论
  • szz0429 2010-12-01 15:05

    恩是滴~~给你个例子:
    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了么。

    打赏 评论

相关推荐 更多相似问题