用struts可以正常返回success 用json返回的总是input jsonstruts 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “alert("你可算成功了")”楼主你真是逗比,哈哈好了,正题发代码最好加上格式,这么看真实很蛋疼,把包成java代码多好这种错误直接断点调试,还用多说session.get("securityCode")和(name)都是什么? package com.checkcode;import java.io.ByteArrayInputStream;import java.util.Map;import org.apache.struts2.interceptor.SessionAware;import com.checkcode.SecurityCode.SecurityCodeLevel;import com.opensymphony.xwork2.ActionSupport;/** * 提供图片验证码 * @version 1.0 2012/08/22 * @author dongliyang * */public class SecurityCodeImageAction extends ActionSupport implements SessionAware{ //图片流 private ByteArrayInputStream imageStream; //session域 private Map<String, Object> session ; private String name; private String msg; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getName() { return name; } public void setName(String name) { this.name = name; } public ByteArrayInputStream getImageStream() { return imageStream; } public void setImageStream(ByteArrayInputStream imageStream) { this.imageStream = imageStream; } public String execute() throws Exception { //如果开启Hard模式,可以不区分大小写 /*String securityCode = SecurityCode.getSecurityCode(4,SecurityCodeLevel.Hard, false).toLowerCase();*/ //获取默认难度和长度的验证码 String securityCode = SecurityCode.getSecurityCode(); imageStream = SecurityImage.getImageAsInputStream(securityCode); //放入session中 session.put("securityCode", securityCode); return "right"; } public Map<String, Object> getSession() { return session; } public String yanzheng(){ if( session.get("securityCode").equals(name)){ msg="成功了"; return SUCCESS; }else{ msg="再看看!"; return INPUT; } } public void setSession(Map<String, Object> session) { this.session=session; }}断电从来没用过 都不知道是和森么 1、打印下session.get("securityCode"),看看值是什么2、看看execute有没有执行,如果执行输出下String securityCode = SecurityCode.getSecurityCode();的值 我不知道 是不是你的意思 我这样做的public String yanzheng(){ if( ((String)session.get("securityCode")).equals(name)){ msg="成功了"; return SUCCESS; }else{ msg = (String)session.get("securityCode"); return INPUT; } }alert提示的和我输入的验证码一模一样的........ 快帮帮我把 这玩意 我都吭哧3天了 还没怎么招呢 很不满意 (补充一句 本人还没敢招工作呢 估计这水平也找不到了 所以更浪费不起时间 各位谢谢,谢谢各位 ,谢谢大家,谢谢!) 谢谢大家 谢谢 由于接受你们的启发 (我终于看到曙光了); 我找到根本 原因了 我已经能够看到 alert “你可算成功了”,谢谢 谢谢 十分肝血 十分感谢 public String yanzheng(){ System.out.println(session.get("securityCode")); if( ((String)session.get("securityCode")).equals(name)){ msg="成功了"; return SUCCESS; }else{ msg = (String)session.get("securityCode"); return INPUT; } } 断电从来没用过 都不知道是和森么楼主加油吧启动的时候有个debug模式,然后需要在调试的地方双击两次.访问断点的地方然后就进入debug模式f6一步一步执行,然后可以看下这些变量都是什么值,走到哪一步,返回的都是什么授人以鱼不如授人以渔debug不会的话,找错误可是非常不好找啊 嗯嗯嗯恩3天吭哧瘪肚 整这么点东西不过还是很高兴 高兴!谢谢 谢谢 谢谢 msg = (String)session.get("securityCode")+name;的时候alert name是null; 是我的URL问题 url:"yanzheng", 改成 url='yanzheng?name='+name就好了 不胜感激 好高兴 这个很简单的,你直接用json把返回对象格式一下,返回给客户端。客户端你可以使用console.log()看看返回的结果 有cognos方面的api吗? 菜鸟求助 紧急问题:快来.大家 为什么在struts的tiles框架中不能使用MzTreeView显示树形菜单啊? jsp+javascript打造级连菜单 关于indexOf的几个问题~~~ weblogic ,jspSmartUpload 下载 Content-Length异常,急... 一个写文件的小问题 100分~~请问谁能提供一个可用数据库管理的多级菜单的源码? 简单问题??? 小白求问 spring有继承关系的类生成对象的问题 实现注册功能,并提示您相关信息(非完整)
好了,正题
发代码最好加上格式,这么看真实很蛋疼,把包成java代码多好
这种错误直接断点调试,还用多说
session.get("securityCode")
和(name)都是什么?
import java.util.Map;import org.apache.struts2.interceptor.SessionAware;import com.checkcode.SecurityCode.SecurityCodeLevel;
import com.opensymphony.xwork2.ActionSupport;/**
* 提供图片验证码
* @version 1.0 2012/08/22
* @author dongliyang
*
*/
public class SecurityCodeImageAction extends ActionSupport implements SessionAware{
//图片流
private ByteArrayInputStream imageStream;
//session域
private Map<String, Object> session ;
private String name;
private String msg;
public String getMsg() {
return msg;
} public void setMsg(String msg) {
this.msg = msg;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public ByteArrayInputStream getImageStream() {
return imageStream;
} public void setImageStream(ByteArrayInputStream imageStream) {
this.imageStream = imageStream;
}
public String execute() throws Exception {
//如果开启Hard模式,可以不区分大小写
/*String securityCode = SecurityCode.getSecurityCode(4,SecurityCodeLevel.Hard, false).toLowerCase();*/
//获取默认难度和长度的验证码
String securityCode = SecurityCode.getSecurityCode();
imageStream = SecurityImage.getImageAsInputStream(securityCode);
//放入session中
session.put("securityCode", securityCode);
return "right";
}
public Map<String, Object> getSession() {
return session;
} public String yanzheng(){
if( session.get("securityCode").equals(name)){
msg="成功了";
return SUCCESS;
}else{
msg="再看看!";
return INPUT;
}
} public void setSession(Map<String, Object> session) {
this.session=session;
}
}
断电从来没用过 都不知道是和森么
2、看看execute有没有执行,如果执行输出下
String securityCode = SecurityCode.getSecurityCode();
的值
public String yanzheng(){
if( ((String)session.get("securityCode")).equals(name)){
msg="成功了";
return SUCCESS;
}else{
msg = (String)session.get("securityCode");
return INPUT;
}
}
alert提示的和我输入的验证码一模一样的........ 快帮帮我把 这玩意 我都吭哧3天了 还没怎么招呢
很不满意 (补充一句 本人还没敢招工作呢 估计这水平也找不到了 所以更浪费不起时间 各位谢谢,谢谢各位 ,谢谢大家,谢谢!)
由于接受你们的启发 (我终于看到曙光了);
我找到根本 原因了
我已经能够看到 alert “你可算成功了”,
谢谢 谢谢 十分肝血 十分感谢
System.out.println(session.get("securityCode"));
if( ((String)session.get("securityCode")).equals(name)){
msg="成功了";
return SUCCESS;
}else{
msg = (String)session.get("securityCode");
return INPUT;
}
}
启动的时候有个debug模式,然后需要在调试的地方双击两次.
访问断点的地方然后就进入debug模式
f6一步一步执行,然后可以看下这些变量都是什么值,走到哪一步,返回的都是什么
授人以鱼不如授人以渔
debug不会的话,找错误可是非常不好找啊
3天吭哧瘪肚 整这么点东西
不过还是很高兴 高兴!
谢谢 谢谢 谢谢
msg = (String)session.get("securityCode")+name;的时候alert name是null;
是我的URL问题 url:"yanzheng", 改成 url='yanzheng?name='+name就好了
不胜感激 好高兴