json

struts2框架整合json需要在项目中lib文件夹中引入struts2-core-2.1.8.jar、struts2-json-plugin-2.1.8.jar、xwork-core-2.1.6.jar、json-lib-2.2.3-jdk15.jar这几个核心jar包

Action层

public class TestJsonAction {
public boolean flag;
public String name;
public String execute(){
if("tom".equals(name)){
this.flag=false;
}else{
this.flag=true;
}
return "success";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}

}

struts.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">


<struts>
<package name="inhance" namespace="/test/json" extends="json-default">
<action name="checkName" class="com.test.TestJsonAction" method="execute">
<result name="success" type="json">
<!--  <param name="root">flag</param> -->
/user.jsp
</result>
</action>
</package>
</struts>

user.jsp   注意jquery.js的引用路径按照自己项目jquery框架所在的路径引

<%@page pageEncoding="utf-8" 
contentType="text/html;charset=utf-8" %>
<html>
<head>
<title>userInterface</title>
<script type="text/javascript" src="resource/js/jquery.js"></script>
<script type="text/javascript">
$(function(){
$("#name").blur(function(){
var name = $("#name").val();
$.ajax({
url:"test/json/checkName.action",
data:"name="+name,
dataType:"json",
success:function(data){

<!--注意如果struts.xml配置文件用的是 <param name="root">flag</param>这种形式

那么取回调的数据时,就用if(data)就行啦data就是你要从服务端取出来的判断条件true或者false

当你struts.xml配置文件用的是用的是

<result name="success" type="json">
/user.jsp
</result>

这种形式的时候就必须用下面这种方式才能去除从服务器端的数据 -->
if(data.flag){
$("#checkname").html("此名字可用");
}else{
$("#checkname").html("此名字不可用");
}
}
});
});
});
</script>
</head>
<form action="" method="post">
姓名:<input type="text" id="name" name="user.name" /><span id="checkname" style="color:red;"></span>
</form>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值