struts-2-json
来源:互联网 发布:精灵香水淘宝店铺证吗 编辑:程序博客网 时间:2024/06/06 13:57
环境:
eclipse+jdk8+tomcat+struts-2.3.32-min-lib.zip
对应的xml:
struts.xml中:
<!-- package 6 --><!-- 1.使用域对象字段驱动方式的数据传递 2.json数据返回到页面和到ajaxstrutscxk/login.jsp进行测试--><include file="jsonandvaluegetset.xml"></include>
jsonandvaluegetset.xml中:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="getsetValue" extends="struts-default,json-default"><!-- 使用域对象字段驱动方式的数据传递 --><action name="cxk_*" method="{1}" class="com.core.UserAction"><result>success.jsp</result></action><action name="modeltest" class="com.core.ModelUserGetSetValueAction"><result>success.jsp</result></action><!-- 返回json数据 --><action name="json_*" method="{1}" class="com.core.UserAction"><!-- 当点击form表单时url:http://localhost:8080/studyStruts01/strutscxk/json_tojson进入UserAction对应的tojson方法将user对象序列化付给result返回"myajax" 对应下面result的name下面param中的location是对应返回的页面将user对象序列化付给result赋给<param name="result"在页面上便可以取到result --><result name="myajax"><param name="location">success.jsp</param><param name="result">result</param></result></action> <!-- 利用ajax访问在success中得到json数据1.包需要这样做:package name="getsetValue" extends="struts-default,json-default"2.在result中设置type="json"3.应为不用返回页面(如果返回页面可以做模板技术),所以直接设置需要返回的值将com.core.UserAction的ajaxgetjson中序列化user的得到result返回书写的方法如下 --><action name="getmy_*" method="{1}" class="com.core.UserAction"><result type="json" name="ajaxvalue"><param name="result">result</param></result></action></package></struts>
UserAction类:
package com.core;import org.apache.struts2.json.JSONException;import org.apache.struts2.json.JSONUtil;import com.entity.User;import com.opensymphony.xwork2.ActionSupport;public class UserAction {public String gsvalue(){System.out.println("获取的值=========username:"+user.getUsername()+"===password:"+user.getPassword()+"=="+sex);return "success";}public String tojson(){try {result = JSONUtil.serialize(user);} catch (JSONException e) {e.printStackTrace();}return "myajax";}public String ajaxgetjson(){System.out.println("===jin");System.out.println("========"+user.getUsername());try {result = JSONUtil.serialize(user);} catch (JSONException e) {e.printStackTrace();}return "ajaxvalue";}/** * 直接使用与对象作为属性驱动 * 1.定义一个类如User * 2.在Action中定义User user * 3.生成get/set方法 * 4.在页面传值用user.username 具体参见strutscxk/login.jsp页面 * * 也可以直接在action中定义页面传递过来变量的值,并生成get/set方法 */private User user;//并且生成get set方法private String sex;private String result;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getResult() {return result;}public void setResult(String result) {this.result = result;}}
ModelUserGetSetValueAction类:
package com.core;import com.entity.User;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ModelDriven;/** * 模型驱动注入值 * 创建人:曹雪坤 * 时间:2016年12月23日-下午4:25:27 * @version 1.0.0 * */public class ModelUserGetSetValueAction implements ModelDriven<User>{private User user = new User();@Overridepublic User getModel() {return user;}//上面是模型驱动注入值必须的public String execute(){System.out.println("===jin"+user.getUsername());return Action.SUCCESS;}}
对应的jsp页面:
login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML><html> <head> <title>My JSP 'login.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"> </head> <body> 属性驱动注入值得方法:<br> <form action="cxk_gsvalue" method="post"> 用户:<input type="text" name=user.username ><br> <br> 密码:<input type="password" name="user.password"><br> <br> 性别:<input type="text" name="sex"/><br> <br> <input type="submit" value="登陆"></form><br><br><br><pre>public class ModelUserGetSetValueAction implements ModelDriven<User>{private User user = new User();@Overridepublic User getModel() {return user;}//上面是模型驱动注入值必须的</pre>模型驱动注入值:<br> <form action="modeltest" method="post"> 用户:<input type="text" name=username ><br> <br> 密码:<input type="password" name="password"><br> <br> 年龄:<input type="text" name="age"/><br> <br> <input type="submit" value="登陆"></form><br><br><br>json:<br><form action="json_tojson" method="post"> 用户:<input type="text" name=user.username ><br> <br> 密码:<input type="password" name="user.password"><br> <br> <input type="submit" value="登陆"></form><br><br><br>ajax方法得到ajax:<br><span id="clickme" style="cursor:pointer;color:red;font-weight:900">点击我利用ajax获取数据</span> <br><br><br><br><br><br><script type="text/javascript" src="../js/jquery-1.11.1.min.js"></script><script type="text/javascript">var clickme = document.getElementById("clickme");clickme.onclick = function(){var username = "ajax测试哦";var password = "你猜";var age = 3;var param = "备用参数ajax";$.ajax({type:"post",url:"getmy_ajaxgetjson",data:{"user.username":username,"user.password":password,"user.age":age,"user.param":param},success:function(data){var tojson = JSON.stringify(data);alert(tojson);}}); }/* var username = "ajax测试哦";var password = "你猜";var age = 3;var param = "备用参数ajax";$.ajax({type:"post",url:"../json_tojson",data:{"user.username":username,"user.password":password,"user.age":age,"user.param":param},success:function(data){alert(data);}}); */</script> </body></html>
success.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML><html> <head> <title>My JSP 'success.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"> </head> <body> 属性驱动注入值方式取值:用户名:${user.username}====密码:${user.password}==年龄:${user.age }++++性别${sex} <br/> json数据格式的string:${result}<br /> 模型驱动注入值方式取值:用户名${username}==密码:${password}==年龄${age} </body></html>
阅读全文
0 0
- struts 2 结合json
- struts 2 结合json
- struts-2-json
- Struts-JSON
- struts json
- Struts json
- struts json
- Struts 2的struts.xml中配置json类型
- Struts 2中启用json ajax支持
- Struts 2 +JQuery +json 实现异步交互
- Struts 2+Jquery+JSON(登录验证)
- Struts 2+Jquery+JSON(登录验证)
- Json+ajax+struts
- json+struts实例
- jquery+struts+json
- Ajax------------ prototype+struts(json)
- Json Struts-Action 配置
- AJax json struts
- 1. Two Sum
- 乐观锁与悲观锁
- 在Cocos2d-Lua中使用ProtoBuf (Xcode配置方法)
- 面向对象和面向过程有什么区别
- websocket通讯
- struts-2-json
- (八)应用协议--图解TCP/IP读书笔记
- python 中 np.sum()函数 通俗易懂理解!
- 简单旅游景点咨询系统的设计与实现
- 信息论笔记
- PAT A1046. Shortest Distance
- 小白带你学安卓——初识android
- xaml的一些奇奇怪怪的错误
- ListView的每个item都像卡片一样摆在界面上,另外每个item下方有3d阴影效果