J2EE使用Json數據
J2EE中使用json數據流程是什麼呢?
1 jsp傳值至action
2 action中處理jsp傳來的值,一番處理之後,處理成json格式的值
3 傳回jsp。jsp中可以通過拿到的處理後的數據。通過鍵值對的形式拿到值。
JSP
$('select[name=classes').change(function(){
var classNum= $('select[name=classes option:selected').val();
$.getJSON(
"stu/stu_toshowStu",
{classNum:classNum},
function(json,status)
{
$.each(json,function(i){
$('#stuDiv').append("<div>學生學號:"+json[i].num+"</div>" );
}
);
});
Action
private String classNum;
.........................................
public String toshowStu()
{
List<Student> lstStu = stuService.getStuByClassNum(classNum);
this.outputJson(lstStu );
return null;
}
outputJson
protected final void outputJson(Object obj)
{
String outStr = "";
if(obj instanceof String)
outStr = (String)obj;
else
outStr = getJson(obj);
try
{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(outStr);
}
catch(IOException e)
{
logger.error(e.getMessage(), e);
e.printStackTrace();
}
}
protected final String getJson(Object obj)
{
JsonConfig cfg = jsonCfg();
return JSONArray.fromObject(obj, cfg).toString();
}
private JsonConfig jsonCfg()
{
JsonConfig cfg = new JsonConfig();
cfg.registerJsonValueProcessor(java/util/Date, new JsonValueProcessorImpl());
return cfg;
}
student本身有num這個字段,將數據對象處理成json格式的數據,其中有[{"num":"111","name":"222","address":"江蘇"}]等等。
當然,我們肯定要導包啦。詳見:https://blog.csdn.net/woshixuye/article/details/7244318
最後更新:2017-04-02 22:16:20