具体如下:
前台:
<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=""> </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>
前台:
<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=""> </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>
解决方案 »
- 为什么有一些大型项目不使用Hibernate框架
- 明天交差你不来指导下 我就死定了
- 使用HibernateTemplate写不进数据库
- 谁有SSH框架(Struts2)B2C的下载网站和视频介绍下
- 菜鸟关于MVC的小问题
- junit mock 测试问题
- 关于struts的一个问题
- 小数取整
- 使用validator插件后,启动tomcat时出现的错误。
- jtable中嵌入jEditorPane,如何使jEditorPane能接受鼠标消息(HyperlinkListener)
- 看看这个程序的输出结果是什么,能不能改进算f(n)的方法。
- java.lang.NoClassDefFoundError: org/apache/commons/collections/map/MultiKeyMap
<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>
已经解决了,是jar包的问题,添加strtus2中的两个json插件包就ok了,谢谢各位了!!!