Struts2表达式封装Action获取不到表单数据的一次记录

Posted 程小猿学编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2表达式封装Action获取不到表单数据的一次记录相关的知识,希望对你有一定的参考价值。

在学习Struts框架时,想复习一下所学知识,发现通过表达式封装表单数据到action,在action中无法获得数据,记录一下。

以下是各部分配置:

请求路径:

1 <package name="struts2" namespace="/" extends="json-default">
2         <action name="action1" class="top.ionestu.action.ModeDrivenDemoAction"></action>
3  </package>

页面配置:

1 <form action="${pageContext.request.contextPath}/action1.action" method="post">
2         bookName:<input type="text" name="book.bookName"><br>
3         price:<input type="text" name="book.price"><br>
4         bookSN:<input type="text" name="book.bookSN"><br>
5         <input type="submit" value="提交">
6 </form>

Action类:

public class ModeDrivenDemoAction extends ActionSupport {

    private Book book;

    public Book getBook() {
        return book;
    }

    public void setBook(Book book) {
        this.book = book;
    }

    public String action1() throws Exception {
        System.out.println(book);
        return NONE;
    }
}

在页面提交请求后,后台得到的数据是null,查了半天原来发现实体类忘记添加get set方法了,添加上之后

 1 public class Book {
 2     private String bookName;
 3     private String price;
 4     private String bookSN;
 5 
 6     public String getBookName() {
 7         return bookName;
 8     }
 9 
10     public void setBookName(String bookName) {
11         this.bookName = bookName;
12     }
13 
14     public String getPrice() {
15         return price;
16     }
17 
18     public void setPrice(String price) {
19         this.price = price;
20     }
21 
22     public String getBookSN() {
23         return bookSN;
24     }
25 
26     public void setBookSN(String bookSN) {
27         this.bookSN = bookSN;
28     }
29 
30     @Override
31     public String toString() {
32         return "Book{" +
33                 "bookName=‘" + bookName + ‘‘‘ +
34                 ", price=‘" + price + ‘‘‘ +
35                 ", bookSN=‘" + bookSN + ‘‘‘ +
36                 ‘}‘;
37     }
38 }

数据获取正常了。

 

以上是关于Struts2表达式封装Action获取不到表单数据的一次记录的主要内容,如果未能解决你的问题,请参考以下文章

struts2获取表单数据之 属性封装 模型驱动 表达式封装 对象封装到list集合 对象封装到map集合 五种方便的封装方式

struts2 封装获取表单数据的方式

Struts2封装获取表单数据方式:

struts2 模型驱动封装

Struts2学习

struts2 jsp如何获取action值