ssh框架使用json和ajax传递参数的区别

来源:互联网 发布:java中数据类型的转换 编辑:程序博客网 时间:2024/05/01 23:21

1.使用ajax异步传递参数:

(1).js代码:

$.ajax({   
url:"addarticle!addArticle",   
type:"POST",   
data:params,  
dataType:"json",
success:function(data)
  {
  $.each(data,function(i,value){  
 if(value.article!=null)
 {
  dlg_h(300,120,"温馨提示","<html><span style='color:blue'>文章发表成功!还想再写一篇吗?</html>","再写一篇","不用了",fun_ok,fun_cancel);
$("#dlg").dialog('open');
 }        
       });   
  }
})}

其中data中的值必须是表单序列化的值params,有点小技巧,就是如果不要求在表单中输入,而是直接提供给js的值怎样把他和表单中的值一起序列化?这时可以把直接从js中获得的值传递给一个隐藏属性<input>的value就行。eg:

jsp:<input type="hidden" name="article_.article" id="article_">

js:

var node = document.getElementById("article_");
node.value = getContent();
var params = $("#article").serialize();  

(2).struts2配置文件:

<action name="addarticle" class="njg.ssh.action.ArticleAction">
<result type="json"></result>   
</action>
   

注意:必须要把所有json包导入才可以。

(3).action代码:

public void addArticle()
{
//article_ = new Article(this.select,this.title,this.article,this.type,new GetTime().getTime());
try {
article_.setTime(new GetTime().getTime());
articleser.addArticle(article_);
HttpServletResponse response = ServletActionContext.getResponse(); 
JSONArray json = JSONArray.fromObject(article_); 
   response.setCharacterEncoding("utf-8");//指定为utf-8  
   response.getWriter().write(json.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

注意:其他的代码和ssh框架一样的写法,实现增,删,改,查时也需要用到BaseDao和service的支持。同样也需要配置applicationContext.xml文件的配置。

2.使用json传递参数:

(1).js代码:

function getArticle()
{
$.getJSON("queryarticle!queryArticle",function(data){   
       //通过循环取出data里面的值         
       $.each(data,function(i,value){  
        //父界面获取iframe子界面的元素
        $("#show").contents().find("#article").append(
        "<div>"+value.title+"<br/>"+value.article+"</div><br/>"
        );            
       });      
   }); 
}

(2).struts2配置文件:

<action name="queryarticle" class="njg.ssh.action.ArticleAction">

(3).action代码:

public void queryArticle()
{
try {
articles = articleser.queryArticle(Article.class);
HttpServletResponse response = ServletActionContext.getResponse(); 
JSONArray json = JSONArray.fromObject(articles); 
   response.setCharacterEncoding("utf-8");//指定为utf-8  
   response.getWriter().write(json.toString());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}

0 1
原创粉丝点击