在StudentAction中实例化一个对象private Student studentInfo;public Student getStudentInfo() {
return studentInfo;
}public void setStudentInfo(Student studentInfo) {
this.studentInfo = studentInfo;
}
public String getStudent() throws Exception {
String id = ServletActionContext.getRequest().getParameter("id");Student student = new Student();
student.setId(Integer.parseInt(id));
Student studentInfo = (Student) studentbiz.getStudent(student);
ServletActionContext.getRequest().setAttribute("studentInfo", studentInfo);
return "showInfo";
}
在StudentInfo.jsp中用了三种方式显示都不能出来
 <s:textfield name="studentInfo.name" value="#{name}"></s:textfield>
<s:textfield value="#studentInfo.name"></s:textfield>
<s:textfield value="<s:property value='#request.studentInfo.name'/>"></s:textfield>
请各位给力 ,多多支持!!

解决方案 »

  1.   

    Student studentInfo = (Student) studentbiz.getStudent(student);红色的取掉
      

  2.   

    你是不是直接转到jsp页面中去的,像你这种方式要先执行action中的方法后再转到jsp页面中去。然后才能取值。取值不用做什么操作。有值的话,它会自己去填充的。像这样就可以了。
    <s:textfield name="studentInfo.name" ></s:textfield>
      

  3.   

    标签调用的是get set方法Student studentInfo = (Student) studentbiz.getStudent(student);
    ServletActionContext.getRequest().setAttribute("studentInfo", studentInfo);你这等于是把studentInfo 放到request里了,没set,改成
    this.studentInfo = (Student) studentbiz.getStudent(student);
      

  4.   

     把<s:textfield value="#studentInfo.name"></s:textfield>
    修改为<s:textfield value="%{#studentInfo.name}"></s:textfield>
    或者改为<s:textfield value="%{#request.name}"></s:textfield>
    request传过来的值就可以了。。