读书人

为什么小弟我实现ModelDriven得到的是

发布时间: 2012-01-28 22:06:14 作者: rapoo

为什么我实现ModelDriven得到的是空值哦,奇怪?
AccountAction.java

Java code
public @Getter @Setter class AccountAction extends ActionSupport implements ModelDriven<Person> {    private Person person=new Person();    private final String ERROR404="error404";    private final String FORMAL="formal";    private final String INDEX="index";    //    用于上一个链接    private String previousHref=ServletActionContext.getRequest().getHeader("Referer");            @Resource(name="userManagerImp")    private UserManager userManger;        //    登录    public String login(){        if(isUserAlreadyLogin(ServletActionContext.getRequest()))            return INDEX;        if(userManger.findUserByEmailAndPassword(person.getEmail(), person.getPassword())==null){            System.out.println("登录失败"+person.getEmail()+person.getPassword());                return FORMAL;        }        if( previousHref!= null)            return SUCCESS;           storeEmailAtCookieWithSession(person.getEmail());        System.out.println("登录成功");            return INDEX;    }                /**再次判断用户注册是否出错      * */    private boolean isWrongWithPerson(){        return person.getEmail()==null||person.getPassword().equals("")||person.getName().equals("")||                userManger.checkUserExistByEmail(person.getEmail());    }                    @Override    public Person getModel() {        return person;    }        }



login.jsp

HTML code
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>注册questionvsanswer</title></head><body>    <s:form action="login" method="post">        <label>邮箱</label>        <input id="email" name="email" type="text" maxlength="60" tabindex="1"            value="" />        <br />        <label>密码</label>        <input id="password" name="password" type="password" maxlength="60"            tabindex="1" value="" />        <br />        <button type="submit">登录</button>    </s:form>        <s:include value="copyright.jsp"></s:include></body></html>


Person
Java code
private long id;        private String name;    private String email;    private String password;    private String description;getter setter

结果是:
nullnull
Hibernate:
select
user0_.id as id4_,
user0_.headPhoto_id as headPhoto2_4_,
user0_.personInfor_id as personIn3_4_
from
User user0_,
Person person1_
where
user0_.personInfor_id=person1_.id
and person1_.email=?
and person1_.password=?
登录失败nullnull


为什么太奇怪啦

[解决办法]
input框中的“name”改为


person.email
person.password

读书人网 >Java Web开发

热点推荐