<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Save User</title> 
  </head>
  <body>
    <h1><font color="red">Save User</font></h1>
    <s:form action="userNameAction">
     <s:textfield name="userName.firstname" label="姓"></s:textfield>
     <s:textfield name="userName.lastname" label="名"></s:textfield>
     <s:textfield name="userName.age" label="年龄"></s:textfield>
<s:submit></s:submit>     
    </s:form> 
  </body>
</html>

这是哪个注册页面...label我设置值了...可是根本就显示不出来...这是第一个问题

public class UserNameAction extends ActionSupport {
private UserName userName;
private UserNameDao userNameDaoImpl;
public void setUserName(UserName userName) {
this.userName = userName;
}
public void setUserNameDaoImpl(UserNameDaoImpl userNameDaoImpl) {
this.userNameDaoImpl = userNameDaoImpl;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
userNameDaoImpl.saveUserName(userName);
System.out.println(userName.getFirstname()+""+userName.getLastname()+userName.getAge());
                 这里是最重要的问题...我这里只能输出lastname的值...而firstname和age 输出空置
                            我不知道为什么...数据库里也是一样 为什么有的值可以传进来有的就不行

return SUCCESS;
}

<hibernate-mapping>
<class name="com.ssh.bean.UserName" table="tb_name">
<id name="id" type="java.lang.Integer" column="id">
<generator class="native"></generator>
</id>
<property name="firstname" type="java.lang.String" column="firstname"
length="50">
</property>
<property name="lastname" type="java.lang.String" column="lastname"
length="50">
</property>
<property name="age" type="java.lang.Integer" column="age"></property>
</class>
</hibernate-mapping>
这是哪个UserName.hbm.xml文件
我仔细检查了数据的字段都匹配....我想既然lastname可以加进数据库..我想我的配置应该没有问题才是...可为什么firstname和age的值却输出空的...他们都是一样的啊...这点我非常想不通...大家帮我看看问题到底出在哪了...我都搞了一天了这个问题

解决方案 »

  1.   

    action里面还要getUserName方法吧
    UserName里面所有的set方法都有吗
      

  2.   


    在action中加入getUserName 第二个问题解决...这种传值方式还是第一次用 userName.firstname对这里面原理不了解 请问第一个问题是什么原因吗
      

  3.   

    就算没有getUserName方法可 lastname为什么就可以赋值呢
      

  4.   


    因为你有set方法,所以可以赋值(set)。你的s:form加上 theme="simple"看看效果如何?
    <s:form action="login2" theme="simple">  
      

  5.   

    那firstname 和age为什么就不可以赋值
      

  6.   

    你的UserName这个方法里面的firstname和age有写set方法吗?如果有写,确认你的set方法名是
    setFirstname  和setAge ,就是说,set三个字母之后跟着的是前面定义的属性名,该属性名第一个字母大写。
      

  7.   

    把UserName这个bean贴出来看看?
      

  8.   


    public class UserName {
    private Integer id;
    private String firstname;
    private String lastname;
    private Integer age;
    public Integer getId() {
    return id;
    }
    public void setId(Integer id) {
    this.id = id;
    }
    public String getFirstname() {
    return firstname;
    }
    public void setFirstname(String firstname) {
    this.firstname = firstname;
    }
    public String getLastname() {
    return lastname;
    }
    public void setLastname(String lastname) {
    this.lastname = lastname;
    }
    public Integer getAge() {
    return age;
    }
    public void setAge(Integer age) {
    this.age = age;
    }
      

  9.   

    都是工具自动生成的get set 方法我想不会有错吧
      

  10.   

    第一个问题 我试了一下 能够显示label 可能是楼主的浏览器问题