关于json后台传值到前台页面的问题

ganshenml 2014-02-26 01:07:32
String data="{\'judge\':1}";

现在想要将上面的字符串传值到前台HTML文档的js中。事先有用Ajax进行传值到后台:

$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){
alert("yes!");
alert(data[0].judge);
},"json");


问,怎么安全得到judge对应的值!
求知道的小伙伴给点建议!
么么哒!
...全文
24546 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
陶马森 2015-05-14
  • 打赏
  • 举报
回复
下载下来看过后,发现我 一直把 后面的 ,'json' 没加上。。默认是xml 不好解析
ganshenml 2014-02-28
  • 打赏
  • 举报
回复
引用 37 楼 lib739449500 的回复:
路过 学习了
AS_MSDN 2014-02-27
  • 打赏
  • 举报
回复
引用 10 楼 ganshenml 的回复:
[quote=引用 8 楼 AS_MSDN 的回复:] dataType: "json",加上这个。 同时如果不行,用javascript将字符串转化为json
如果就用我前台界面写的那种方式咋做呢?我的意思是:后台怎么用Gson封装转换?[/quote]
protected void json(Map<String, Object> result) throws Exception {
		if (result == null || result.size() == 0)
			json("{}");
		else
			json(new Gson().toJson(result));
	}  

	//JOSN转换
	protected void json(List<Map<String, Object>> results) throws Exception {  
		if (!(results.size() > 0)) {
			results = null;
		}      
	 	json(new Gson().toJson(results)); 
	} 
	protected void json(String json) throws Exception {	  
		if (json == null || json.equals("")) {
			json = "[]";
		} 
		response.setContentType("application/json;charset=utf-8"); 
		PrintWriter out = response.getWriter();    
		if (!(json == null || json.equals("[]")|| json.equals(""))) { 
			out.print(json);      
			out.flush();
			out.close();
		}  
	} 
ganshenml 2014-02-27
  • 打赏
  • 举报
回复
引用 32 楼 l568646976 的回复:
引用 31 楼 ganshenml 的回复:
引用 30 楼 l568646976 的回复:
引用 28 楼 ganshenml 的回复:
引用 26 楼 l568646976 的回复:
引用 7 楼 fangmingshijie 的回复:
不写了,给你找一个例子参考吧。点这里
struts框架都是版主给的地址这样用的。-
也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!
哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。
我是直接从登陆界面传数据到后台,由后台进行判断,然后返回判断数据到登陆界面的回调函数里面,通过结果来进行页面的不同跳转!
使用struts-json-plugin.jar时 Action类中JSON的生成机制这种方式struts不会跳转页面
我前台使用jQuery中的post方式调用action结合struts来进行跳转的!在回调函数中,我可以用传过来的值进行页面的相关跳转,然后把参数传过去就行!
快乐的小呆 2014-02-27
  • 打赏
  • 举报
回复
引用 31 楼 ganshenml 的回复:
引用 30 楼 l568646976 的回复:
引用 28 楼 ganshenml 的回复:
引用 26 楼 l568646976 的回复:
引用 7 楼 fangmingshijie 的回复:
不写了,给你找一个例子参考吧。点这里
struts框架都是版主给的地址这样用的。-
也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!
哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。
我是直接从登陆界面传数据到后台,由后台进行判断,然后返回判断数据到登陆界面的回调函数里面,通过结果来进行页面的不同跳转!
使用struts-json-plugin.jar时 Action类中JSON的生成机制这种方式struts不会跳转页面
ganshenml 2014-02-27
  • 打赏
  • 举报
回复
引用 30 楼 l568646976 的回复:
引用 28 楼 ganshenml 的回复:
引用 26 楼 l568646976 的回复:
引用 7 楼 fangmingshijie 的回复:
不写了,给你找一个例子参考吧。点这里
struts框架都是版主给的地址这样用的。-
也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!
哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。
我是直接从登陆界面传数据到后台,由后台进行判断,然后返回判断数据到登陆界面的回调函数里面,通过结果来进行页面的不同跳转!
快乐的小呆 2014-02-27
  • 打赏
  • 举报
回复
引用 28 楼 ganshenml 的回复:
引用 26 楼 l568646976 的回复:
引用 7 楼 fangmingshijie 的回复:
不写了,给你找一个例子参考吧。点这里
struts框架都是版主给的地址这样用的。-
也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!
哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。
ganshenml 2014-02-27
  • 打赏
  • 举报
回复
引用 25 楼 qhttl 的回复:
[quote=引用 楼主 ganshenml 的回复:] String data="{\'judge\':1}"; 现在想要将上面的字符串传值到前台HTML文档的js中。事先有用Ajax进行传值到后台:

$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){
			alert("yes!");
			alert(data[0].judge);
		},"json");
问,怎么安全得到judge对应的值!
你的代码向后台传输了两个值 id和psw,对于judge是没有的,如果你只改js,永远都数不出judge 1、你要明白data是什么 2、data是怎么来的 3、后台怎么输出json数据 你这里明显是传入编号和密码,后台通过判断之后输出一个json字符串,这个json字符串包含judge字段,才能有judge输出,明白么? 你要是搞不定最好把后台代码贴出来~~~ [/quote]你说的这些我都知道啊,而且的话,我上面代码也贴出来了,只是你自己没看吧!我的错误点就是在于action里面将符合json格式的字符串不能传回到前台这个点上面,而不是不清楚json传数据的一个模式!
ganshenml 2014-02-27
  • 打赏
  • 举报
回复
引用 26 楼 l568646976 的回复:
引用 7 楼 fangmingshijie 的回复:
不写了,给你找一个例子参考吧。点这里
struts框架都是版主给的地址这样用的。-
也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!
ganshenml 2014-02-27
  • 打赏
  • 举报
回复
引用 24 楼 baohuan_love 的回复:
楼主可否把这个response的util工具类贡献一下呢,或者提供下载链接也可啊
貌似是自己写的一个类,没那么复杂的,我晚些时候整理了再给你吧!
快乐的小呆 2014-02-27
  • 打赏
  • 举报
回复
引用 7 楼 fangmingshijie 的回复:
不写了,给你找一个例子参考吧。点这里
struts框架都是版主给的地址这样用的。-
ganshenml 2014-02-27
  • 打赏
  • 举报
回复
引用 24 楼 baohuan_love 的回复:
楼主可否把这个response的util工具类贡献一下呢,或者提供下载链接也可啊
http://download.csdn.net/detail/ganshenml/6971413 已经弄好了,是关于前台到后台,后台到前台的,有心的话可以下载看看,多多指出意见!
黑子大哥 2014-02-27
  • 打赏
  • 举报
回复
引用 楼主 ganshenml 的回复:
String data="{\'judge\':1}"; 现在想要将上面的字符串传值到前台HTML文档的js中。事先有用Ajax进行传值到后台:

$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){
			alert("yes!");
			alert(data[0].judge);
		},"json");
问,怎么安全得到judge对应的值!
你的代码向后台传输了两个值 id和psw,对于judge是没有的,如果你只改js,永远都数不出judge 1、你要明白data是什么 2、data是怎么来的 3、后台怎么输出json数据 你这里明显是传入编号和密码,后台通过判断之后输出一个json字符串,这个json字符串包含judge字段,才能有judge输出,明白么? 你要是搞不定最好把后台代码贴出来~~~
  • 打赏
  • 举报
回复
楼主可否把这个response的util工具类贡献一下呢,或者提供下载链接也可啊
ganshenml 2014-02-27
  • 打赏
  • 举报
回复
引用 34 楼 AS_MSDN 的回复:
[quote=引用 10 楼 ganshenml 的回复:] [quote=引用 8 楼 AS_MSDN 的回复:] dataType: "json",加上这个。 同时如果不行,用javascript将字符串转化为json
如果就用我前台界面写的那种方式咋做呢?我的意思是:后台怎么用Gson封装转换?[/quote]
protected void json(Map<String, Object> result) throws Exception {
		if (result == null || result.size() == 0)
			json("{}");
		else
			json(new Gson().toJson(result));
	}  

	//JOSN转换
	protected void json(List<Map<String, Object>> results) throws Exception {  
		if (!(results.size() > 0)) {
			results = null;
		}      
	 	json(new Gson().toJson(results)); 
	} 
	protected void json(String json) throws Exception {	  
		if (json == null || json.equals("")) {
			json = "[]";
		} 
		response.setContentType("application/json;charset=utf-8"); 
		PrintWriter out = response.getWriter();    
		if (!(json == null || json.equals("[]")|| json.equals(""))) { 
			out.print(json);      
			out.flush();
			out.close();
		}  
	} 
[/quote]类似差不多,但是你这属于逐一解析json格式字符串了,所以是培训应该不会比较好,我感觉!
ganshenml 2014-02-26
  • 打赏
  • 举报
回复
引用 22 楼 u012463264 的回复:
a code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public String execute() throws IOException{ System.out.println(id+" "+psw); if(coi.LoginValidation(id, psw)){ System.out.println("yes!"); String data="{\'judge\':1}"; Gson gson=new Gson(); gson.fromJson(data, Gson.class); System.out.println(data.toString()); response.setCharacterEncoding("utf-8"); PrintWriter pw = response.getWriter(); pw.print(data); pw.flush(); }else{ System.out.println("no!"); } return null; } 你先这样写 试试 。 gson.fromJson(data, Gson.class)这是将json转成Bean. ajax只能返回字符串。不能返回Bean.
这种不行,不过我已经弄出来了,是借用了一个response的util工具类,然后将json格式的字符串发送到了前台!其实就很简单的概念,做起来却很费力!
别闹腰不好 2014-02-26
  • 打赏
  • 举报
回复
a code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public String execute() throws IOException{ System.out.println(id+" "+psw); if(coi.LoginValidation(id, psw)){ System.out.println("yes!"); String data="{\'judge\':1}"; Gson gson=new Gson(); gson.fromJson(data, Gson.class); System.out.println(data.toString()); response.setCharacterEncoding("utf-8"); PrintWriter pw = response.getWriter(); pw.print(data); pw.flush(); }else{ System.out.println("no!"); } return null; } 你先这样写 试试 。 gson.fromJson(data, Gson.class)这是将json转成Bean. ajax只能返回字符串。不能返回Bean.
ganshenml 2014-02-26
  • 打赏
  • 举报
回复
引用 19 楼 u012463264 的回复:
你这个返回状体是成功了,走了后台 ,但是后台你也没有给前台值啊
嗯,我就是不知道怎么给的,就使用Gson或者是json封装的这种形式,不用servlet这种,请多多指教!
别闹腰不好 2014-02-26
  • 打赏
  • 举报
回复
response.setCharacterEncoding("utf-8"); PrintWriter pw = response.getWriter(); pw.print(json); pw.flush(); 后台的字符串这样输出,你用ajax 就不用转发了。直接return null ;就行了
别闹腰不好 2014-02-26
  • 打赏
  • 举报
回复
你这个返回状体是成功了,走了后台 ,但是后台你也没有给前台值啊
加载更多回复(18)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧