あまり言うことはありません。コード
アクション
パッケージ com.lk.action;
インポート com.googlecode.jsonplugin.annotations.JSON;
インポート com.lk.service.StudentControl; openssymphony.xwork2.ActionSupport;
public class LoginAjaxAction extends ActionSupport {
private String username;
@JSON(serialize=false) //setStudentControl は Spring を使用します。 StudentControl がシリアル化されないように、シリアル化されている場合はエラーが報告されます。
public StudentControl getStudentControl() {//このエラーを長い間探していました...Ajax がエラーを返し続けます
return StudentControl;
}
@Resource(name= "studentControl")
public void setStudentControl(StudentControl StudentControl) {
this.studentControl = StudentControl;
public String getUsername() {
ユーザー名を返す;
}
public void setUsername(String username) {
this.username = ユーザー名;
}
@Override
public String use() throws Exception {
if(studentControl.getStudentById(Integer.parseInt( username))!=null){
username = "ユーザーが存在します";
}else{
username = "ユーザーが存在しません";
}
return "success";
}
}
上記の最も重要なことは @JSON(serialize=false) です。 。 。それについてはコメントがあります。 。 。 。
struts.xml
コードをコピー
ここで言いたいのは、json-default は struts-default から継承されるということです。 >login.html
コードをコピー
$(this).addClass("txtclick"); },
blur:function() {
var vtxt = $("#un").val();
if (vtxt.length == 0) {
$("# unerror").html("ユーザー名を空にすることはできません");
$(this).removeClass("txtclick");
}else if(!isInteger(vtxt)){
//ユーザー名の形式は正しいです
$(" #unerror").html("形式が正しくありません!");
$(this).removeClass("txtclick");
}else{
$ .ajax({
url : "loginAjax",
dataType : "json",
data : {
username : $(this).val(),
time : Math.random ()*1000
},
成功 : function(data){
alert("success" data.username);
},
error : function(){
alert ("エラー");
}
})
}
}
上記の時間: Math.random()*1000実質的な意味はなく、主にキャッシュが非同期リフレッシュに影響を与えるのを防ぐためです。 。 。これは最初のドラフトであり、後で変更することができます。