安裝JSON插件時(shí)的主要學(xué)習(xí)研究
安裝JSON插件提供了一種名為json的ResultType,一旦為某個(gè)Action指定了一個(gè)類型為json的Result,則該Result無需映射 到任何視圖資源。因?yàn)镴SON插件會負(fù)責(zé)將Action里的狀態(tài)信息序列化成JSON格式的數(shù)據(jù),并將該數(shù)據(jù)返回給客戶端頁面的 JavaScript。
簡單地說,安裝JSON插件允許我們在JavaScript中異步調(diào)用Action,而且Action不再需要使用視圖資源來顯示該Action里的狀態(tài)信息,而是由JSON插件負(fù)責(zé)將Action里的狀態(tài)信息返回給調(diào)用頁面——通過這種方式,就可以完成Ajax交互。#t#
提供了一種可插拔方式來管理插件,安裝Struts2的JSON插件與安裝普通插件并沒有太大的區(qū)別,一樣只需要將Struts2插件的JAR文件復(fù)制到Web應(yīng)用的WEB-INF/lib路徑下即可,安裝JSON插件按如下步驟進(jìn)行:
- import com.googlecode.jsonplugin.annotations.JSON;
- import com.opensymphony.xwork2.Action;
- public class JsonTestAction {
- private String username;
- private String password;
- private boolean success;
- private Map map = new HashMap();
- public String checkLogin(){
- if(this.getPassword()!="" && this.getUsername()!=""){
- //***種方式 將要返回給頁面的數(shù)據(jù)放到HashMap里生成數(shù)據(jù)格式“{"map"://{"success":true},"username":"ww"}”
- //map.put("success", true);
- //***種方式 將要返回給頁面的數(shù)據(jù)放到變量里生成數(shù)據(jù)格式“{"map"://"success":true,"username":"ww"}”
- success = true;
- return Action.SUCCESS;
- }else{
- return Action.INPUT;
- }
- }
- @JSON(serialize=false)
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public boolean isSuccess() {
- return success;
- }