Struts2 值在验证失败回到原来页面的时候会丢失的解决方案
来源:互联网 发布:oracle拷贝整个数据库 编辑:程序博客网 时间:2024/05/17 05:54
书到用时方恨少,好久不做这个了,今天居然栽在这里了。特此记录,以备后用。
如登录界面保留原来的用户名和密码
login.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
- <%@taglib uri="/struts-tags" prefix="s"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <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">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- <style>
- .errorMessage{
- color:red;
- }
- </style>
- </head>
- <body>
- <form action="login" method="post">
- username:
- <input type="text" name="user.username" value="${user.username}" label="username" />
- <span class=errorMessage>
- <s:property value="errors['user.username'][0]" />
- </span>
- <br>
- password:
- <input type="password" name="user.password" value="${user.password}" label="password" />
- <span class=errorMessage>
- <s:property value="errors['user.password'][0]" />
- </span>
- <br>
- <input type="submit" align="left" />
- </form>
- <br/>
- <s:debug />
- </body>
- </html>
LoginAction.java
- package com.action;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.struts2.ServletActionContext;
- import com.domain.User;
- import com.opensymphony.xwork2.ActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- public class LoginAction extends ActionSupport {
- private User user ;
- public String login(){
- HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get( ServletActionContext.HTTP_REQUEST);
- if(user==null)
- return INPUT;
- String ret = SUCCESS;
- if(!user.getUsername().trim().equals("admin")){
- this.addFieldError("user.username", "Username Invalid");
- ret = INPUT;
- }
- if(!user.getPassword().trim().equals("1")){
- this.addFieldError("user.password", "Password Invalid");
- ret = INPUT;
- }
- return ret;
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- @Override
- public String execute() throws Exception {
- System.out.println("login action @ method *execute()");
- return super.execute();
- }
- }
struts.xml
加入拦截器
- defaultStack
- <action name="login" method="login" class="com.action.LoginAction">
- <interceptor-ref name="defaultStack"/>
- <result name="success" type="redirect">/success.jsp</result>
- <result name="login">/login.jsp</result>
- <result name="input">/login.jsp</result>
- </action>
另
其他解决方法:
http://www.blogjava.net/jjshcc/archive/2010/08/03/327870.html
- Struts2 值在验证失败回到原来页面的时候会丢失的解决方案
- Struts2 值在验证失败回到原来页面的时候会丢失的解决方案
- Struts 2, 值在验证失败回到原来页面的时候会丢失的解决方案
- Struts 2, 值在验证失败回到原来页面的时候会丢失的解决方案
- 切换页面的时候出现一个页面闪一下,回到原来的界面
- thinkphp 在数据库更新(save)的时候,如果字段没有被修改,会更新失败 和数据的自动验证,插入的时候可以自动验证,但更新的时候就不能验证了
- 刷新页面时原来位置固定不动,在页面刷新的时候。MaintainScrollPositionOnPostback="true"
- 刷新页面时原来位置固定不动,在页面刷新的时候。MaintainScrollPositionOnPostback="true"
- MJRefresh下拉加载的时候,视图不会回到原来的,而是上移一段距离
- jquery.validate.js 在ie中丢失焦点的时候不触发验证
- vnc启动失败时候的解决方案
- iOS 拨打电话 拨打完以后会回到原来的应用
- 复制表的时候为什么约束会丢失
- java实现验证码生成,解决在页面验证时候session获得的总是前一次值的问题
- 原生js innerHTML追加元素的时候会在火狐和谷歌中会清空原始填写的值,解决方案
- struts2中关于ActionMessage在redirect传递时丢失问题的解决方案
- 当点击“新增”或“修改"按钮进行跳转后,又想回到原来的页面?
- 在myeclipse中启动tomcat的时候会自动跳转到DualStackPlainSocketImpl的debug页面
- 浅谈H.323、SIP两大协议
- 趣文:如何向外行解释机器学习和数据挖掘
- 输出1/3-3/5+5/7.......+19/20的结果
- UISCrollView实现重用机制
- 第十周上机实践-------在1000以内所有偶数的和第二种方法
- Struts2 值在验证失败回到原来页面的时候会丢失的解决方案
- js 用CreateElement动态创建标签 //*************************************//
- 友情链接 样式 点击弹出图片加滚动
- SIP协议的功能在统一通信中的体现
- 手把手教你做iOS推送
- jquery1.9 checkbox选中问题
- 关于Linux cached内存简析
- C语言文件操作函数大全
- cocos2d-x C++对象在lua里的存储类型问题