閱讀166 返回首頁    go 阿裏雲 go 技術社區[雲棲]


struts2中使用ajax之一

首先導入包

json-lib-2.1.jar

struts2-json-plugin-2.1.8.1.jar(這兩個是JSON所必須的包)

ezmorph-1.0.3.jar, commons-collections-3.2.jar

commons-beanutils-1.7.0.jar

commons-logging-1.0.4.jar

commons-lang-2.3.jar (因為json大量引用了Apache commons的包,所以需要引入commons的四個包。)

 

然後看action:


public class RegisterAction extends ActionSupport implements RequestAware, SessionAware
{
 IUserDao iud = new UserDaoImpl();
 private Map<String, Object> request;
 private Map<String, Object> session;

 private String name;
 private String pwd;
 private String rpwd;
 private String gender;
 private String head;
 private String code;
 private String tip;  // ajax返回的結果


 public String execute()
 {
  int genderInt = Integer.parseInt(gender);
  String serCode = session.get("validateCode").toString();

  // 驗證碼輸入正確
  if (serCode.equals(code))
  {
   User u = new User();
   u.setGender(genderInt);
   u.setHead(head);
   u.setPassWord(pwd);
   u.setRegTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new java.util.Date()));
   u.setUserName(name);
   iud.addUser(u);
   tip="注冊成功,登錄去吧";
  }
  else
  {
   tip="驗證碼不正確";
  }

  return SUCCESS;
 }

 ..........省略get set

}


struts.xml--這裏還使用的是Struts自帶的ajax
<package name="ajax" namespace="/" extends="json-default">
 <action name="regSub" >
  <result type="json">
  </result>
 </action>
</package>

 

jsp:
 $("#btnSubmit").click(function(){
  var uname = $("#txtUserName").val();
         var pwd = $("#txtPwd").val();
         var rpwd = $("#txtRepeatPwd").val();
         var gender = $("input[name=gender]:checked").val();
         var head = $("input[name=head]:checked").val();
         var code = $("#txtCode").val();
        
         $.get("regSub", {
                                name: uname,
                                pwd: pwd,
                                rpwd: rpwd,
                                gender:gender,
                                head:head,
                                code:code
                            }, function (data, status) {
                                    $('#hint').html(data.tip);           
              });
})

 

<table height="100px" >
 <tr>
  <td align="right">
  用 戶 名
  </td>
  <td align="left">
  <input type="text" maxlength="10" />
  </td>
 </tr>
 <tr>
  <td align="right">
  密碼
  </td>
  <td align="left">
  <input type="password" maxlength="10" />
  </td>
 </tr>
 <tr>
  <td align="right">
  重複密碼
  </td>
  <td align="left">
  <input type="password" maxlength="10" />
  </td>
 </tr>
 <tr>
  <td align="right">
  性別
  </td>
  <td align="left">
  <input type="radio" name="gender" checked="true"value="1" />
  <label for="man">
  男
  </label>
  <input type="radio" name="gender" value="2" />
  <label for="woman">
  女
  </label>
  </td>
 </tr>
 <tr>
  <td align="right">
  驗證碼
  </td>
  <td align="left">
  <input type="text" />
  <img src="toCode" />
  <a href="javascript:change()"> 看不清,換一張</a>

  <input type="button" 注冊"/>   // 注意哦,是button類型,不是submit
  </td>
 </tr>
</table>

 

還有一種方式在Struts中使用ajax,請參看我的博文《struts2中使用ajax之二》。

最後更新:2017-04-02 06:52:24

  上一篇:go Asp.net上傳圖片同時生成文字水印圖,圖片水印圖,縮略圖
  下一篇:go GridView翻頁記住選中的checkbox