表达式封装(会用)
1 实现过程 (1)使用表达式封装可以把表单数据封装到实体类对象里面
第一步在action里面声明实体类 第二步生成实体类变量的set和get方法
第三步在表单输入项的name属性值里面写表达式形式
2 把表达式封装归类到属性封装里面 |
13-比较表达式封装和模型驱动封装
比较表达式封装和模型驱动封装
1 使用表达式封装和模型驱动封装都可以把数据封装到实体类对象里面
2 不同点: (1)使用模型驱动只能把数据封装到一个实体类对象里面 - 在一个action里面不能使用模型驱动把数据封装到不同的实体类对象里面
(2)使用表达式封装可以把数据封装到不同的实体类对象里面 |
com.hlg.data.Data3Action
package com.hlg.data;
import com.hlg.entity.Book;
import com.hlg.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
/**
* 使用表达式
* @author Administrator
*
*/
public class Data3Action extends ActionSupport{
private User user;
private Book book;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Book getBook() {
return book;
}
public void setBook(Book book) {
this.book = book;
}
public String execute(){
System.out.println(user);
System.out.println(book.getBname());
return NONE;
}
}
/struts2_day02/WebContent/data3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/data3.action" method="post">
username:<input type="text" name="user.username"><br>
password:<input type="text" name="user.password"><br>
address:<input type="text" name="user.address"><br>
bname:<input type="text" name="book.bname"><br>
<input type="submit" value="提交">
</form>
</body>
</html>