是一个SSH2的简单登录程序
<s:form action="login">
<s:textfield name="user.username" label="姓名"/>
<s:textfield name="user.password" label="密码"/>
<s:submit/>
我在action里设置是一个user对象提供了setter方法,现在想在登录成功后的页面显示用户的欢迎信息,请问怎样获取到提交过来的用户名
用这个<s:property  value="user.username" />不行
我是新手,烦请懂的人给个答案,谢了

解决方案 »

  1.   

    你是不是没有写User类的getter方法?
      

  2.   

    这里model层的public class User implements java.io.Serializable { // Fields private Integer id;
    private String username;
    private String password; // Constructors /** default constructor */
    public User() {
    } /** full constructor */
    public User(String username, String password) {
    this.username = username;
    this.password = password;
    } // Property accessors public Integer getId() {
    return this.id;
    } public void setId(Integer id) {
    this.id = id;
    } public String getUsername() {
    return this.username;
    } public void setUsername(String username) {
    this.username = username;
    } public String getPassword() {
    return this.password;
    } public void setPassword(String password) {
    this.password = password;
    }}这是action代码
    public class UserAction extends ActionSupport {
            private UserManager userManager;
    private User user;
    private List users;
    private Integer id;

    public User getUser() {
    return user;
    }
    public void setUser(User user) {
    this.user = user;
    }
    public Integer getId() {
    return id;
    }
    public void setId(Integer id) {
    this.id = id;
    }
    public void setUserManager(UserManager userManager) {
    this.userManager = userManager;
    }


    public String add()
    {
    userManager.addUser(user);
    return list();
    }

    public String list()
    {
    this.users=userManager.listUser();
    return SUCCESS;

    } public void setUsers(List users) {
    this.users = users;
    }
    public List getUsers() {
    return users;
    } public void setEmployees(List users) {
    this.users = users;
    } public String delete()
    {
    userManager.deleteUser(id);
    return SUCCESS;

    }
    public UserManager getUserManager() {
    return userManager;
    } public String login()
    {





    if(userManager.getUser(user))
    {
    ActionContext ctx=ActionContext.getContext();
    Map session=ctx.getSession();
    session.put("user", user.getUsername());
    return SUCCESS;
    }
    else{
    //将用户名存入session中
    ActionContext ctx=ActionContext.getContext();
    Map session=ctx.getSession();
    session.put("user", null);
    return LOGIN;
    }
    } public String view()
    {

    return SUCCESS;

    }
      

  3.   

    认真看了一下代码都没错误。
    你是不是编码问题。
    还有表单提交你用POST 方法
      

  4.   

    看了你代码后,你可以直接用EL表达式不行吗?如: ${user}
      

  5.   

    你到Action之后有没有把值放到session或是request里啊,
    如果时页面之间的就放到request里就行了,到页面里可以直接取的,你把它放到一个地方,到页面怎么取呢???????????
      

  6.   

    <s:property  value="#user.username" />