一、从jsp页面中取值
a) 设计JavaBean
Java类
public class Student { String name; String sex; Long id; int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } }
b) 编写action类,定义变量且提供getter和setter方法,传递过来的参数会封装在stu中,用getter方法取值就可以
StudentAction类
public class StudentAction {
//获取jsp中的学生信息
Student stu ;
public void setStu(Student stu) {this.stu = stu;}
public Student getStu() {return stu;}
public String execute() throws Exception {
System.out.println("已提交学生是:"+stu1.name+" "+stu1.age+"岁 "+stu1.sex+" "+stu1.id+" "
+address1.province+address1.city);
return "loginresult";
};
}
c) 设计表单,在jsp页面中直接用 <对象名.属性名>获取.(emmm。。其中过程我也有点懵,只知道可以这样写,怕忘了所以先记着)
student.jsp
<form action="StudentAction">
学生姓名:<input type="text" name="stu.name"/></br></br>
学生年龄:<input type="text" name="stu.age"/></br></br>
学生编号:<input type="text" name="stu.id"/></br></br>
学生性别:<input type="text" name="stu.sex"/></br></br>
学生籍贯:<input type="text" name="address.province"/></br></br>
学生地址 :<input type="text" name="address.city"/></br></br>
<input type="submit" value="提交">
</form>
d) 配置好web.xml和struts.xml文件
struts.xml
<struts> <constant name="struts.devMode" value="true"/> <package name="gsonTest" extends="struts-default"> <action name="StudentAction" class="gsonTest.StudentAction"> <result name="loginresult">success.jsp</result> <result name="input">/error.jsp</result> </action> </package> </struts>
package:name=“包名”
action : name = "jsp页面中的action名称" ,class = "包名.action类名"
d) 输出结果
二、action传值到jsp页面
1) 在action类中一定义一个成员变量,然后对这个成员变量提供get/set方法
StudentAction类
Student stu ; public void setStu(Student stu) {this.stu = stu;} public Student getStu() {return stu;}
2) 导入struts标签库,用<s>标签获取值,或者用el表达式 ${stu.getName()}
success.jsp
${stu.getName()}; 学生姓名:<s:property value="stu.getName()"/></br></br> 学生编号:<s:property value="stu.getId()"/></br></br> 学生性别:<s:property value="stu.getSex()"/></br></br> 学生年龄:<s:property value="stu.getAge()"/>
3) 效果