首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

用ssh2和jquery实现ajax交互,出现了点有关问题,求助,待。

2011-12-01 
用ssh2和jquery实现ajax交互,出现了点问题,求助,在线等待。。。。具体如下:前台:script typetext/javascrip

用ssh2和jquery实现ajax交互,出现了点问题,求助,在线等待。。。。
具体如下:
 前台:
  <script type="text/javascript" src="js/jquery-1.3.1.js"></script>
  <script type="text/javascript" src="js/register.js"></script>
  </head>
  
  <body>
  <input type="text" name="register.email" id="email"/>
  <span id="email-hint" class="">&nbsp;</span>
  </body>

js代码:
   
$(function(){

$("#email").focus(function(){
$('#email-hint').html("<span class='formtips onWaiting'></span>");
});

$("#email").blur(function(){
  $.getJSON("reg.action", 
"register.email=" + $("#email").val(), 
function(data){
if (data.flag) {
$('#email-hint').html("<span class='formtips onSuccess'>" + data.responseText+ "</span>");
}else{
$('#email-hint').html("<span class='formtips onError'>" + data.responseText + "</span>");
}
  });
  })
   
})

java Action代码:
public class RegisterAction extends ActionSupport implements ModelDriven<Register>{
private Register register=new Register();
private RegisterService registerService;
private String responseText; //返回的结果
private boolean flag; //主要是为了效果好看点

public Register getRegister() {
return register;
}
public void setRegister(Register register) {
this.register = register;
}
public RegisterService getRegisterService() {
return registerService;
}
public void setRegisterService(RegisterService registerService) {
this.registerService = registerService;
}
public String getResponseText() {
return responseText;
}
public void setResponseText(String responseText) {
this.responseText = responseText;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public String emailExists() {
System.out.println("注册邮箱 :"+this.register.getEmail());
if (registerService.emailExists(this.register.getEmail())) {
flag = false;
responseText = "该用户名已经存在";
System.out.println("该用户名已经存在");
} else {
flag = true;
responseText = "可以注册";
System.out.println("可以注册");
}
return "success";
}
public Register getModel() {
// TODO Auto-generated method stub
return register;
}
}

重点struts.xml配置文件:
  <package name="/" extends="json-default">
  <action name="reg" class="registerAction" method="emailExists">
  <result name="success" type="json">
  <param name="includeProperties">${responseText},${flag}</param>
  </result>
  </action>
  </package>

说明:执行完RegisterAction,然后报错:
  java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:153)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)
我想可能是下面的result配置错了,求大侠指点,在线等待,先谢谢了
<result name="success" type="json">
  <param name="includeProperties">${responseText},${flag}</param>


  </result>


[解决办法]

XML code
<package name="default" extends="json-default">        <action class="com.person.PersonAction" name="person" method="view">            <result type="json">                <param name="includeProperties">person\.name,persoon\.age,person\.gender </param>            </result>        </action></package>
[解决办法]
换个版本的json包试试,可能是包版本不对。

热点排行