运行登录界面不能对用户名和密码进行验证

来源:2-6 页面调用

castler

2015-09-13 14:53

我照老师的步骤写了一下,都能正常运行,就是不能在登录界面对用户名和密码进行验证(没有“用户名不能为空”或者“密码至少为6位”的提示),请问这是为什么呢?


写回答 关注

3回答

  • 团cn_0
    2016-03-18 09:17:56

    姐姐,这才第几节课,还没到那一步呢好波?

  • castler
    2015-09-14 11:07:26

    Users_login.jsp 代码:

    <form name="loginForm" action="<%=path%>/users/Users_login" method="post">

    <!-- start of login form -->

    <div id="welcome">

    <span id="welcome-text">管&nbsp;理&nbsp;员&nbsp;登&nbsp;录</span>

    </div>

    <div id="user-name">

    <span class="item">用户名:</span>

    <span><input type="text" name="username" class="form-input"></span>

    </div>

    <div id="user-password">

    <span class="item">密&nbsp;&nbsp;&nbsp;码:</span>

    <span class="input"><input type="password" name="password" class="form-input"></span>

    </div>

    <div id="button-group">

    <input type="submit" class="btn" value="登录"/>

    <input type="reset" class="btn" value="重置"/>

    </div>

    <div>

       <s:fielderror/> <!-- 显示表单验证的出错信息 -->

    </div>

    <!-- end of form -->

    </form>


    UsersAction 代码:

    public class UsersAction extends SuperAction implements ModelDriven<Users>{

    /**

    */

    private static final long serialVersionUID = 1L;

    private Users user = new Users();

    //用户登录动作

    public String login()

    {

    UserDao userDao = new UserDaoImpl();

    if(userDao.userLogin(user))

    {

    //在session中保存登录成功的用户名

    session.setAttribute("loginUserName", user.getUsername());

    return "login_success";

    }else

    {

    return "login_failure";

    }

    }

    @SkipValidation  //该注解标志的方法不会进行表单验证

    //注销用户方法

    public String logout()

    {

    if(session.getAttribute("loginUserName") != null)

    {

    session.removeAttribute("loginUserName");

    }

    return "logout_success";

    }

    //表单验证

    @Override

    public void validate() {

    //super.validate();

    if("".equals(user.getUsername().trim()))

    {

    this.addFieldError("usernameError","用户名不能为空");

    }

    if(user.getPassword().length() < 6)

    {

    this.addFieldError("passwordError","密码至少为6位");

    }

    }

    public Users getModel() {

    return this.user;

    }


    @Override

    //动作级错误

    public void addActionError(String anErrorMessage) {

    // super.addActionError(anErrorMessage);

    String s = anErrorMessage;

    System.out.println(s);

    }


    @Override

    public void addActionMessage(String aMessage) {

    // super.addActionMessage(aMessage);

    String a = aMessage;

    System.out.println(a);

    }


    @Override

    //字段级错误

    public void addFieldError(String fieldName, String errorMessage) {

    // super.addFieldError(fieldName, errorMessage);

    String f = fieldName;

    String e = errorMessage;

    System.out.println(f);

    System.out.println(e);

    }

    }


  • 好帮手慕珊
    2015-09-14 10:57:24

    能把你的代码贴一下吧,Action的和jsp页面的

    castle...

    代码已贴,帮看下吧,3Q !

    2015-09-14 11:07:12

    共 1 条回复 >

使用Struts2+Hibernate开发学生信息管理功能

Strust2+Hibernate整合开发案例,Java Web开发技能更上一层楼

80695 学习 · 797 问题

查看课程

相似问题