86---- jQuery与Struts2 -stream方式以及json方式详细讲解
来源:互联网 发布:360云盘数据没有了 编辑:程序博客网 时间:2024/04/30 02:03
一、 jQuery与Struts2 -stream方式
1.编写Action代码:定义一个InputStream类型的成员变量
publicclass UserAction extends ActionSupport{
private int userId;
private String password;
private InputStream is;
//get/set
public String login1(){
String text;
if((123==userId)&&("123".equals(password))){
text="登陆成功!";
}else{
text="loginfailure!";
}
try {
this.is=newByteArrayInputStream(text.getBytes("utf-8"));
} catch (UnsupportedEncodingExceptione) {
// TODO Auto-generated catchblock
System.out.println("password转化字符输入流失败!");
e.printStackTrace();
}
return SUCCESS;
}
}
2.配置struts.xml
<packagename="default" extends="struts-default" namespace="/">
<action name="login"class="com.yunhe.action.UserAction"method="login1">
<resulttype="stream">
<paramname="contentType">text/html;charset=utf-8</param>
<paramname="inputName">is</param>
</result>
<resultname="input">login.jsp</result>
</action>
</package>
3.编写JSP实现用户名验证
<script type="text/javascript"src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
function checkName(){
function login(){
var password=$("#password").val();
var userId=$("#userId").val();
$.get("login.action","password="+password+"&userId="+userId,function(value){
alert(value);
$("#ssubmit").html(value);
});
}
</script>
</head>
<body>
<h2><s:textname="login.title"></s:text></h2>
<form method="post" >
<dlid="loginBox">
<s:fielderror></s:fielderror>
<dt><s:textname="login.name"></s:text>
<inputtype="text" class="input-text" id="userId"name="userId" value=""onblur="checkName()"/>
<spanid="suserId"><s:textname="login.name.span"></s:text></span></dt>
<dt><s:textname="login.pass"></s:text><inputtype="password" class="input-text" id="password"name="password" value="" onblur="checkpassword()"/>
<spanid="spassword"><s:text name="login.pass.span"></s:text></span></dt>
<dt><inputtype="submit" value="<s:textname='login.submit'></s:text>"onclick="login()"/><spanid="ssubmit"></span></dt>
</dl>
</form>
</body>
</html>
二、 jQuery与Struts2 -json方式
1.配置struts.xml: extends="json-default",struts2-json-plugin-xxx.jar
<package name="default" extends="json-default" namespace="/">
<action name="chkName"class="com.yh.myajax.LoginAction" method="chkName">
<result type="json">
<param name="root">message</param>
<!--<param name="includeProperties">name</param>
<param name="excludeProperties">id</param>
--></result>
</action>
</package>
2. 编写Action代码:
public class LoginAction extendsActionSupport {
private String name;//获得jsp传入的信息
private JSONObject message; //get/set
public String chkName() {
String text;
if ("sa".equals(name)) {text = "成功";}else {text = "失败";}
// User us=new User();us.setId(1);us.setName(text);
// message=JSONObject.fromObject(us);//{"id":3,"name":"xx"}
Map map=new HashMap();map.put("info", text);
message=JSONObject.fromObject(map);
return SUCCESS;
}
}
3.编写JSP实现用户名验证
<scripttype="text/javascript">
function chkName() {
var name = $("#username").val();alert(name);
/* $.getJSON("server.jsp","name=" +name,function(result){
$("#msg").html(result.msg);
})*/
$.ajax( {url : "chkName.action",data : "name=" +name, dataType : "json",
type : "get", success : function(value) {
alert(value.info);$("#msg").html(value.info);
}});
}
</script>
<body>
<div id="show"></div>
<form action="login.action"method="post">
用户名:<inputname="username" type="text" value=""id="username"onblur="chkName()" />
<span id="msg">请输入用户名</span><br>
<input type="submit" value="提交"/>
</form>
</body>
</html>
JSON类型的Result
参数
作用
默认值
适用场景
root
指定要序列化的根对象
当前Action中所有有返回值的getter方法的值
用于指定不需要序列化key值的数据
includeProperties
指定根对象中要序列化的属性
当前根对象中的所有属性
用于需要序列化的属性较少的情况
excludeProperties
指定根对象中要排除的属性
null
用于需要排除序列化的属性较少的情况
excludeNullProperties
指定根对象中是否序列化值为空的属性
false
用于需要过滤空值的情况
- 86---- jQuery与Struts2 -stream方式以及json方式详细讲解
- Json对象与Json字符串互转(4种转换方式) jquery 以及 js 的方式
- jQuery与Struts2综合应用[stream/json]异步请求
- struts2 注解方式返回json
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- 基于maven的springMvc+Mybatis,搭建项目的时候发现一些问题这里例举下
- 网络服务器设计
- 程序员、技术领导、管理者各有烦恼,你占了几条?
- 数值数据类型及表示
- springmvc和Angularjs 跨域传输 jsonp
- 86---- jQuery与Struts2 -stream方式以及json方式详细讲解
- BZOJ3174: [Tjoi2013]拯救小矮人
- PHP垃圾回收
- Android-版本控制 SVN
- 数据传输过程详解
- 如何做一个开心的程序员?
- 在VMware10中安装centos6.4详解
- -数组类模板
- 如何在线签订电子合同, 看这一篇就够了!