我写的action层出了让我很郁闷的小问题,请各位进来看下

TrustTJM 2013-05-11 10:11:04
我写了一个简单的登录注册,因为JS不咋地,就把“验证码”和“再次输入密码”放到了action层中处理,于是问题就来了。请看下我的action层的代码:
private String id;
private String pwd;
private String confirmPwd;
private String name;
private int sex;
private int question_id;
private String question;
private String answer;
private String email;
private String registrationDate;
private String securityCode;
private String inputSecurityCode;
然后是各种set和get方法

public String login() //我在struct.xml中配置了method,所以这里就不用execute()了
{
User user = null;
UserEbo userEbo = new UserEbo();
userEbo.setUserDao(new UserDAOImpl());
user = userEbo.login(id, pwd); //这里可以完美执行,id,pwd正确的话,可以成功获得user对象
ActionContext ctxt = ActionContext.getContext();
if(inputSecurityCode == securityCode) //重点在这,一直执行到这一步然后就不行了,问题是再调试过程中,这两个的值是一样的啊,天地良心,有图有真相,请看下面截图
{
if(user != null)
{
ctxt.put("user", user);
ctxt.put("label", "登录成功!自动跳转到主页并自动自动登录");
ctxt.put("hyperLink", "../index.jsp");
return "success";
}
else
{
return "fail";
}
}
else
{
return "fail"; //直接跳到这里,并结束
}
}






欲哭无泪了。这是刚才的日志:
五月 11, 2013 9:38:51 上午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
WARNING: Parameter [id] is not on the excludeParams list of patterns and will be appended to action!
五月 11, 2013 9:38:51 上午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
WARNING: Parameter [inputSecurityCode] is not on the excludeParams list of patterns and will be appended to action!
五月 11, 2013 9:38:51 上午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
WARNING: Parameter [pwd] is not on the excludeParams list of patterns and will be appended to action!
五月 11, 2013 9:38:51 上午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
WARNING: Parameter [securityCode] is not on the excludeParams list of patterns and will be appended to action!


然后是我的配置:
structs.xml
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />

<package name="default" namespace="/" extends="struts-default">
<action name = "login" class = "user.action.UserAction" method = "login">
<result name = "success">../ok.jsp</result>
<result name = "fail">login.jsp</result>
</action>

<action name = "register" class = "user.action.UserAction" method = "register">
<result name = "success">../ok.jsp</result>
<result name = "fail">register.jsp</result>
</action>
</package>
</struts>


我就想不通了,明明两个值一样,为什么还会这样呢?两个换成我都换成get方法也是如此,在Service层写了个方法再到action层调用也是如此。。。。。。求救啊
...全文
167 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
TrustTJM 2013-05-11
  • 打赏
  • 举报
回复
引用 3 楼 AA5279AA 的回复:
[quote=引用 2 楼 luckytjm 的回复:] [quote=引用 1 楼 AA5279AA 的回复:] 大哥! inputSecurityCode == securityCode) 字符串比较能用==么? 难道不是用equals么? 另外密码验证都是推荐在action层的,js验证的仅仅是格式而已。
这位高人,equals我可以尝试一下,就是你说的密码验证和验证码验证,我貌似也是在action层哈,我有什么不足之处请指出哈,我追求的是高质量编程哈,无限接近完美!!![/quote] JS验证格式的目的是降低服务器压力,把压力抛给客服端。 如果你的代码想更完美一点的话,我建议login()里面的那些东西封装起来,login()里面只留一个方法就够了。其他的封装到service层[/quote] 哦哦,学习到了
失落夏天 2013-05-11
  • 打赏
  • 举报
回复
引用 2 楼 luckytjm 的回复:
[quote=引用 1 楼 AA5279AA 的回复:] 大哥! inputSecurityCode == securityCode) 字符串比较能用==么? 难道不是用equals么? 另外密码验证都是推荐在action层的,js验证的仅仅是格式而已。
这位高人,equals我可以尝试一下,就是你说的密码验证和验证码验证,我貌似也是在action层哈,我有什么不足之处请指出哈,我追求的是高质量编程哈,无限接近完美!!![/quote] JS验证格式的目的是降低服务器压力,把压力抛给客服端。 如果你的代码想更完美一点的话,我建议login()里面的那些东西封装起来,login()里面只留一个方法就够了。其他的封装到service层
TrustTJM 2013-05-11
  • 打赏
  • 举报
回复
引用 1 楼 AA5279AA 的回复:
大哥! inputSecurityCode == securityCode) 字符串比较能用==么? 难道不是用equals么? 另外密码验证都是推荐在action层的,js验证的仅仅是格式而已。
这位高人,equals我可以尝试一下,就是你说的密码验证和验证码验证,我貌似也是在action层哈,我有什么不足之处请指出哈,我追求的是高质量编程哈,无限接近完美!!!
失落夏天 2013-05-11
  • 打赏
  • 举报
回复
大哥! inputSecurityCode == securityCode) 字符串比较能用==么? 难道不是用equals么? 另外密码验证都是推荐在action层的,js验证的仅仅是格式而已。
lotnleave 2013-05-11
  • 打赏
  • 举报
回复
是用 .equals(securityCode) 方法吧~~~

67,513

社区成员

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

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